方法1: 自己寫 round()
sub round { my $val = shift; my $col = shift; my $r = 10 ** $col; my $a = ($val > 0) ? 0.5 : -0.5; return int($val * $r + $a) / $r; } # 於要取的位數後 +0.5, 再取整數即可. my $a = 10.335444; print round($a, 2);
方法2: 使用 sprintf()
my $a = 10.335444; print sprintf("%.2f", $a);
用法可參考: Perl 5.8.0 Documentation - sprintf
感覺很基本的東西竟然沒有@@
我是找不到 Perl 四捨五入的函式在哪邊, 所以不得已才寫這個囉~~
還是長輩能告知此函式的名稱是???
參考這篇 http://www.perl.com/doc/FAQs/FAQ/oldfaq-html/Q4.13.html
perl沒有內建的round函數
原來如此, 而且連 function 都寫好了, 感恩 Orz...
perldoc -f int
int ???