2

我有一个 evalue 数字,例如:3,49489484848484E-23并希望将其四舍五入 3,48E-23

我该怎么做?我找不到任何进行这种舍入的 Perl 函数。

4

2 回答 2

10

您可以使用sprintfprintf

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

另请参阅Perl 常见问题解答

于 2012-09-20T09:13:31.370 回答
6

Perl 没有round()函数。处理浮点数总是与系统相关的,等等。从Perl 常见问题解答中,我可以为您提供:

对于四舍五入到特定位数, sprintf() 或 printf() 通常是最简单的方法。

[...]

金融应用程序中的四舍五入可能会产生严重影响,并且应精确指定所使用的四舍五入方法。在这些情况下,不信任 Perl 使用的任何舍入系统可能是值得的,而是自己实现所需的舍入功能。

于 2012-09-20T09:15:24.497 回答