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