我需要将浮点数转换为整数,就好像逗号已被删除一样。
例:
23.2343f-> 232343

private static int removeComma(float value)
{
    for (int i = 0; ; i++) {
        if((value * (float)Math.pow(10, i)) % 1.0f == 0.0f)
            return (int)(value * Math.pow(10, i));
    }
}


问题在于数字的四舍五入。例如,如果我通过23000.2359f,它将变为23000236,因为它将输入四舍五入为23000.236。

最佳答案

Java float没有那么多精度,您可以通过以下方式看到

float f = 23000.2359f;
System.out.println(f);


哪个输出

23000.236


要获得所需的输出,可以使用double

double d = 23000.2359;
String v = String.valueOf(d).replace(".", "");
int val = Integer.parseInt(v);
System.out.println(val);


输出是(请求的)

230002359

10-06 12:43