在sprintf中截断(不是舍入)小数位?

Ara*_*rav 5 perl printf mod-perl

我想在小数点后用两位数显示美元值来表示美分.在下面的程序中,输出为23.24.Perl舍入小数位.如何避免它.我希望输出为23.23.

$val=23.2395;
$testa=sprintf("%.2f", $val);
print "\n$testa\n $val";
Run Code Online (Sandbox Code Playgroud)

dbe*_*hur 12

print int(23.2395*100)/100;  # => 23.23
Run Code Online (Sandbox Code Playgroud)


ste*_*enl 7

Math :: Round有不同的舍入方法.

use Math::Round 'nlowmult';
print nlowmult( 0.01, 23.2395 ); # 23.23
Run Code Online (Sandbox Code Playgroud)