Java将float转换为整数

Saw*_*yer 14 java

我想做一个这样的操作:如果给定的浮点数是1.0,2.0,3.0,我想将它们保存到数据库中作为整数(1,2,3),如果它们像1.1,2.1,3.44,我把它们保存为浮动.使用java这个问题的最佳解决方案是什么?数据库中的相应字段是varchar的类型.

fas*_*ava 19

试试吧int i = (int) f;.

编辑:我在问题中看到了重点.此代码可能有效:

 int i = (int) f;
 String valToStore = (i == f) ? String.valueOf(i) : String.valueOf(f);
Run Code Online (Sandbox Code Playgroud)


Boz*_*zho 5

String result = "0";
if (floatVar == Math.floor(floatVar)) {
    result = Integer.toString((int) floatVar);
} else {
    result = Float.toString(floatVar);
}
Run Code Online (Sandbox Code Playgroud)

if子句检查数字是否为整数 - 即它是否等于将其舍入到最接近的整数值的结果.

但这确实是一个非常奇怪的要求,也许你应该重新考虑对这种事情的需要.

  • 他要求一个整数字符串,所以转换为int的行应该是String str = Integer.tostring((int)floatVar); (3认同)