我想做一个这样的操作:如果给定的浮点数类似于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. MIPS将浮点数转换为整数
- 2. 将浮点数转换为整数
- 3. 将浮点数转换为整数
- 4. iphone - 将浮点数转换为整数
- 5. 将C++浮点数转换为整数
- 6. 将浮点变量转换为整数?
- 7. 转换浮点整数
- 8. 将浮点数转换为序数中的整数
- 9. 将负数浮点数转换为无符号整数
- 10. 将分数转换为浮点数C#
- 11. 将数组datatime.datetime转换为浮点数
- 12. Java从浮点数转换为int
- 13. 将浮点数转换为整数时的.NET错误?
- 14. AVX将64位整数转换为64位浮点数
- 15. cython - 将字符串转换为整数和浮点数
- 16. 如何将浮点数转换为整数在smarty
- 17. 将浮点数转换为整数等效
- 18. 重新解释将浮点数转换为整数
- 19. 将浮点数转换为除math.floor()之外的整数
- 20. 在bash中将浮点数转换为整数而不舍入
- 21. 将字符串转换为javascript中的整数或浮点数
- 22. 如何将整数转换为JavaScript中的浮点数?
- 23. 如何在必要时将浮点数转换为整数?
- 24. 将一个“无限”浮点数转换为一个整数
- 25. 使用.format将浮点数转换为整数
- 26. Python:无法将浮点数NaN转换为整数
- 27. VHDL:如何将浮点数转换为整数
- 28. Inno Setup - 将整数652转换为浮点数给出6.52?
- 29. 将浮点数组转换为整数时的TypeError
- 30. 将整数元组转换为浮点数
这真是令人困惑;你问如何使用Float.toString(val)? – Will 2010-02-02 09:24:52
你确定浮点数真的最适合你的问题域吗?如果你想精确,你应该使用BigDecimal – 2010-02-02 09:28:00