2012-12-11 27 views
-8

我想將負值舍入爲零。 例如:-223.5至0.0。 Java中有沒有特定的方法?是否有任何Java API方法將負值舍入爲零

+2

什麼是API的需要,當你只是在做一個if語句來檢查它是否爲負或不!! –

+2

令人驚訝的是,人們在學習將變量和if語句賦值之前學會使用API​​ ...... – piokuc

+0

使用API​​可以創建可讀的,有意義的代碼。這是Java,而不是C –

回答

4

完蛋了:

float a = -223.5; 
if(a < 0) 
    a = 0.0; 
6
int nonNegative = Math.max(yourValue, 0); 
double nonNegativeDouble = Math.max(yourValueAsDouble, 0.0); 
5

三元操作符:

a = a<0 ? 0 : a; 

如果聲明:

if (a<0) a = 0; 

不要使用方法或API只是爲了它的緣故。我認爲在這種情況下適用於我的"KISS" principle

我個人對API的看法是,如果它使您的代碼更具可讀性,更易維護,不會重複發明輪子和/或不重複自己,則應該使用它們。

在這種情況下,我認爲你想做的事情可以作爲一個簡單的條件單行語句來實現,因此,你不會從使用API​​中受益。

不過說實在的,作爲使用Math.max功能的另一種回答說,還可以實現:

a = Math.max(a, 0); 
+0

+1爲「吻」原則。 :) – PermGenError

+1

我不同意。有效的Java,項目47:知道並使用庫 –

+0

那麼在這種特殊情況下,我個人發現使用條件語句(不管是IF還是三元運算符)比調用Math.max函數更清晰。但在許多其他情況下,我會同意你的看法。 –

相關問題