我想做一個這樣的操作:如果給定的浮點數類似於1.0,2.0,3.0,我想將它們保存爲整數(1,2,3)的數據庫,如果它們是如1.1,2.1,3.44,我將它們保存爲浮點數。使用java的這個問題的最佳解決方案是什麼?數據庫中的相應字段是varchar的類型。Java將浮點數轉換爲整數
14
A
回答
19
試試int i = (int) f;
。
編輯:我看到了問題中的觀點。此代碼可能工作:數量
int i = (int) f;
String valToStore = (i == f) ? String.valueOf(i) : String.valueOf(f);
5
String result = "0";
if (floatVar == Math.floor(floatVar)) {
result = Integer.toString((int) floatVar);
} else {
result = Float.toString(floatVar);
}
的if子句檢查是否是一個整數 - 即如果它等於四捨五入下來到最接近的整數值的結果。
但這確實是非常奇怪的要求,也許你應該重新考慮這種事情的需要。
0
不知道這是最好的解決辦法,但你可以嘗試寫這樣的方法:
String convertToString(Float f) {
if (f.toString().endsWith(".0"))
return f.intValue().toString();
else
return f.toString();
}
1
好像要保存花車沒有尾隨數字爲整數,同時節省那些顯著尾隨數字作爲花車。我寧願只是這一切保存爲浮動到數據庫,但它是你的問題所以這裏是我的答案:
/**
* Method to determine if trailing numbers are significant or not. Significant
* here means larger than 0
*
* @param fFloat
* @return
*/
public static boolean isTrailingSignificant(Float fFloat)
{
int iConvertedFloat = fFloat.intValue();// this drops trailing numbers
// checks if difference is 0
return ((fFloat - iConvertedFloat) > 0);
}
這是你將如何使用此方法:
Number oNumToSave = null;
if (isTrailingSignificant(fFloat))
{
// save float value as is
oNumToSave = fFloat;
}
else
{
// save as int
oNumToSave = fFloat.intValue();// drops trailing numbers
}
之後,你就可以使用變量oNumToSave執行數據庫操作。
相關問題
- 1. iphone - 將浮點數轉換爲整數
- 2. MIPS將浮點數轉換爲整數
- 3. 將浮點數轉換爲整數
- 4. 將C++浮點數轉換爲整數
- 5. 將浮點變量轉換爲整數?
- 6. 整數值轉換爲浮點數
- 7. 將浮點數轉換爲序數中的整數
- 8. 將分數轉換爲浮點數C#
- 9. 將數組datatime.datetime轉換爲浮點數
- 10. cython - 將字符串轉換爲整數和浮點數
- 11. 使用.format將浮點數轉換爲整數
- 12. 在bash中將浮點數轉換爲整數而不捨入
- 13. 如何將浮點數轉換爲整數在smarty
- 14. 將浮點數轉換爲整數等效
- 15. 將浮點數組轉換爲整數時的TypeError
- 16. 如何在ASP.NET中將浮點數轉換爲整數?
- 17. 將浮點數轉換爲C中的兩個16位整數
- 18. 重新解釋將浮點數轉換爲整數
- 19. 如何將浮點數轉換爲縮放整數?
- 20. 如何在必要時將浮點數轉換爲整數?
- 21. 如何將整數轉換爲JavaScript中的浮點數?
- 22. 如何通過mvc3將浮點數轉換爲整數?
- 23. 將字符串轉換爲javascript中的整數或浮點數
- 24. AVX將64位整數轉換爲64位浮點數
- 25. 如何將浮點數轉換爲整數?
- 26. 將浮點數轉換爲整數時的.NET錯誤?
- 27. VHDL:如何將浮點數轉換爲整數
- 28. Python:無法將浮點數NaN轉換爲整數
- 29. 在Swift中將浮點數轉換爲浮點數
- 30. 無法將值轉換爲浮點數
這真是令人困惑;你問如何使用Float.toString(val)? – Will 2010-02-02 09:24:52
你確定浮點數真的最適合你的問題域嗎?如果你想精確,你應該使用BigDecimal – 2010-02-02 09:28:00