2

次のような evalue 番号があり、3,49489484848484E-23それを丸めたい 3,48E-23

どうすればいいですか?この丸めを行う Perl 関数が見つかりません。

4

2 に答える 2

10

sprintfまたはを使用できますprintf

printf '%.2e', 3.49489484848484E-23; # prints 3.49e-23

PerlFAQも参照してください。

于 2012-09-20T09:13:31.370 に答える
6

Perlには機能がありませんround()。float の扱いは常にシステムに依存するなどです。Perl FAQから、以下を提供できます。

特定の桁数に丸めるには、通常、sprintf() または printf() が最も簡単な方法です。

[...]

金融アプリケーションでの丸めは深刻な影響を与える可能性があるため、使用する丸め方法を正確に指定する必要があります。このような場合、Perl が使用している丸めのシステムを信頼するのではなく、必要な丸め関数を自分で実装することをお勧めします。

于 2012-09-20T09:15:24.497 に答える