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 如何處理網站訪客的留言資料