Perl 四捨五入

方法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


關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 My_Note-Programming。將永久鏈結加入書籤。

Perl 四捨五入 有 6 則回應

  1. 米開朗基羅 說道:

    感覺很基本的東西竟然沒有@@

  2. Tsung 說道:

    我是找不到 Perl 四捨五入的函式在哪邊, 所以不得已才寫這個囉~~
    還是長輩能告知此函式的名稱是???

  3. Tsung 說道:

    原來如此, 而且連 function 都寫好了, 感恩 Orz...

  4. bash99 說道:

    perldoc -f int

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料