gar*_*ett 5 perl floating-point-precision
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";
Run Code Online (Sandbox Code Playgroud)
生产:
num: 6
int(num): 5
sprintf(num): 5.9999999999999991
Run Code Online (Sandbox Code Playgroud)
perl 打印浮点数的精度是多少?
使用:v5.8.8为x86_64-linux-thread-multi构建
yst*_*sth 10
在对浮点数进行字符串化时,无论是打印还是其他方式,Perl通常使用float.h中的DBL_DIG或LDBL_DIG值或者编译它们的limits.h文件.
这通常是perl将使用向下舍入的浮点类型的精度.例如,如果使用典型的double类型,精度为53位= 15.95位,Perl通常用15位精度进行字符串化.
归档时间: |
|
查看次数: |
719 次 |
最近记录: |