2015-05-29 30 views
0

我想通過刪除小數部分來舍入數字數據。我不想使用「sprintf」。有沒有其他的方法可以在Perl中完成。請幫我解決一下這個。 例如, 如果值是4.5,則輸出應該是5,4.2和4分別是4.7和5。 請幫我解決這個問題。通過刪除perl中的小數部分來捨去數字的方法

+0

是它的重複的一個。 –

回答

0

您可以用int關鍵字來做到這一點。

my $value = 4.5; 
print int($value + 0.5); 

然而,int Perl文檔警告不要使用int四捨五入:

返回EXPR的整數部分。如果省略EXPR,則使用$ _。 您不應該使用此函數進行舍入:一個因爲它將 截斷爲0,而兩個因爲機器表示 浮點數有時會產生 違反直覺的結果。例如,「int(-6.725/0.025)」產生-268而不是正確的-269;那是 ,因爲它實際上更像-268.99999999999994315658。 通常,「sprintf」,「printf」或「POSIX :: floor」和 「POSIX :: ceil」函數將比int()更好地爲您服務。

相關問題