我想顯示小數點後兩位數的美元值來表示美分。在下面的程序中,輸出是23.24。 Perl圍繞小數位。如何避免它。我想輸出是23.23。在sprintf中截斷(不是舍入)小數位?
$val=23.2395;
$testa=sprintf("%.2f", $val);
print "\n$testa\n $val";
我想顯示小數點後兩位數的美元值來表示美分。在下面的程序中,輸出是23.24。 Perl圍繞小數位。如何避免它。我想輸出是23.23。在sprintf中截斷(不是舍入)小數位?
$val=23.2395;
$testa=sprintf("%.2f", $val);
print "\n$testa\n $val";
Math::Round具有不同的舍入方法。
use Math::Round 'nlowmult';
print nlowmult(0.01, 23.2395); # 23.23
非常感謝您的信息 – Arav 2012-03-22 05:39:39
你想要它總是截斷? – Schwern 2012-03-20 05:46:20
以便士而不是美元計算,然後使用'int'截斷分數便士。 – tchrist 2012-03-20 15:43:37