perl 打印浮点数的精度是多少?

2023-12-27

my $num = log(1_000_000) / log(10);
print "num: $num\n";
print "int(num): " . int($num) . "\n";
print "sprintf(num): " . sprintf("%0.16f", $num) . "\n";

产生:

num: 6
int(num): 5
sprintf(num): 5.9999999999999991

perl 的精度是多少print浮点数字?

使用:为 x86_64-linux-thread-multi 构建的 v5.8.8


当对浮点数进行字符串化时,无论是打印还是其他方式,Perl 通常使用编译它的 float.h 或 limit.h 文件中的 DBL_DIG 或 LDBL_DIG 的值。

这通常是 Perl 将使用向下舍入的浮点类型的精度。例如,如果使用典型的 double 类型,则精度为 53 位 = 15.95 位,Perl 通常会使用 15 位精度进行字符串化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

perl 打印浮点数的精度是多少? 的相关文章

随机推荐