如何在java

时间:2017-03-04 19:06:50

标签: java floating-point

我知道有一种方法可以强制浮点数有3个小数点,但是如何创建一个字符串表示" 4.00000009"把它变成浮点数后保留3个小数点? Float.parseFloat()将其舍入为4.0。不使用额外的库是理想的。

2 个答案:

答案 0 :(得分:1)

如果您确保String格式正确,则可以根据小数的索引获取子字符串。

或者,你可以解析它,乘以一千,然后将它除以一千。

然而,从长远来看,这对你不利。当需要精确值时,浮点数不会很好。请考虑使用BigDecimal。

答案 1 :(得分:1)

此实用程序方法使用String并将其转换为float,其中包含3位小数:

public static float getFloat(String s) {
    BigDecimal decimal = new BigDecimal(s);
    decimal = decimal.setScale(3, RoundingMode.HALF_UP);
    return decimal.floatValue();
}