Truncate (not round) decimal places in sprintf?

Arav picture Arav · Mar 20, 2012 · Viewed 8.9k times · Source

I want to display the dollar value with two digits after the decimal point to denote the cents. In the below program the output is 23.24. Perl rounds the decimal places. How to avoid it. I want the output to be 23.23.

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

Answer

dbenhur picture dbenhur · Mar 20, 2012
print int(23.2395*100)/100;  # => 23.23