如何在Perl中围绕evalue?

Ang*_*eri 2 perl eval rounding

我有一个evalue数字,3,49489484848484E-23并且想要将其舍入到 3,48E-23

我该怎么做?我找不到任何执行此舍入的Perl函数.

Eug*_*ash 10

你可以使用sprintfprintf:

printf '%.2e', 3.49489484848484E-23; # prints 3.49e-23
Run Code Online (Sandbox Code Playgroud)

另请参阅Perl常见问题解答.

  • @Angelo你应该[接受](http://stackoverflow.com/faq#howtoask)给你最多帮助的答案. (2认同)

小智 6

Perl没有round()功能.处理浮动总是依赖于系统,等等.从Perl FAQ我可以为您提供:

对于舍入到一定数量的数字,sprintf()或printf()通常是最简单的路径.

[...]

财务应用程序中的舍入可能会产生严重影响,应精确指定所使用的舍入方法.在这些情况下,可能不会相信Perl正在使用的舍入系统,而是实现您自己需要的舍入功能.