我有一個像2.75一樣的數字。我想把這個號碼分成兩個其他的花車。這裏是我正在尋找的一個例子:在Java中分裂浮動Android
value = 2.75
value2 = 2.0
value3 = 0.75
我需要他們在我的算法,所以我怎麼能實現這個?我發現split()
,但它返回字符串。我至少需要浮點數或整數。
我有一個像2.75一樣的數字。我想把這個號碼分成兩個其他的花車。這裏是我正在尋找的一個例子:在Java中分裂浮動Android
value = 2.75
value2 = 2.0
value3 = 0.75
我需要他們在我的算法,所以我怎麼能實現這個?我發現split()
,但它返回字符串。我至少需要浮點數或整數。
你也可以試試這個
double value = 2.75;
double fraction=value%1;//Give you 0.75 as remainder
int integer=(int)value;//give you 2 fraction part will be removed
注: 作爲結果很可能在fraction
由於使用的double
。你更好的使用
float fraction=(float) (value%1);
if fractional
部分很大。
你可以施放
float value = 2.75f;
int valueTruncated = (int) value;
float value2 = valueTruncated;
float value3 = value - value2;
另一種選擇是,用split():
double value = 2.75;
/* This won't work */// String[] strValues = String.valueOf(value).split(".");
String[] strValues = String.valueOf(value).split("\\.");
double val1 = Double.parseDouble(strValues[0]); // 2.0
double val2 = Double.parseDouble(strValues[1]); // 0.75
如果輸入爲59.38 結果是 N1 = 59 N2 = 38 這是我想出了:
int n1, n2 = 0;
Scanner scan = new Scanner(System.in);
double input = scan.nextDouble();
n1 = (int) input;
n2 = (int) Math.round((input % 1) * 100);
如果小數由「,」分裂,怎麼辦?你好ArrayIndexOutOfBoundsException? – Stan
那麼@Stan,我不確定「,」但問題要求包含「。」的值。我很抱歉,我還沒有在Java的親,但我總是渴望學習... – instanceof
我只是想說,在不同的語言環境逗號的標誌是不同的。我的意思是小數部分和浮點部分之間的「splitter char」。例如在美國的「,」而在德國的「。」。這意味着代碼必須獨立工作區域設置。你的代碼會崩潰與美國區域運行,因爲將不會有點,因此你會得到ArrayIndexOutOfBoundsException。 – Stan