2012-03-20 7 views
5

セントを表す小数点の後に2桁のドル値を表示したいとします。以下のプログラムでは、出力は23.24です。 Perlは小数点以下を丸めます。それを避ける方法。私はその出力を23.23にしたい。sprintfの小数点以下の桁数を切り捨てます(丸められません)。

$val=23.2395; 
$testa=sprintf("%.2f", $val); 
print "\n$testa\n $val"; 
+0

あなたはそれが常に切り捨てしたいですか? – Schwern

+1

ドルの代わりにペニーで計算し、分数ペニーを切り捨てるのに 'int'を使います。 – tchrist

答えて

12
print int(23.2395*100)/100; # => 23.23 
+0

'printf'礼拝堂が不要 – Zaid

+0

情報ありがとうございました – Arav

7

Math::Round異なる丸めメソッドを持っています。

use Math::Round 'nlowmult'; 
print nlowmult(0.01, 23.2395); # 23.23 
+0

ありがとうございました – Arav

関連する問題