java正则取数字保留小数点_如何用Java解决0.1+0.2≠0.3的问题(附带JS方法)
时间: 2024-02-09 19:11:59 浏览: 69
在Java中,可以使用BigDecimal类来解决0.1+0.2≠0.3的问题,因为浮点数的精度问题可能会导致计算结果不准确。以下是一个示例代码:
```
import java.math.BigDecimal;
public class Test {
public static void main(String[] args) {
BigDecimal a = new BigDecimal("0.1");
BigDecimal b = new BigDecimal("0.2");
BigDecimal c = a.add(b);
System.out.println(c); // 输出 0.3
}
}
```
在上面的代码中,我们使用BigDecimal类来创建0.1和0.2的精确表示,并使用add方法将它们相加,得到了正确的结果0.3。
另外,如果你想要保留小数点,可以使用setScale方法。例如:
```
import java.math.BigDecimal;
public class Test {
public static void main(String[] args) {
BigDecimal a = new BigDecimal("0.1");
BigDecimal b = new BigDecimal("0.2");
BigDecimal c = a.add(b).setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(c); // 输出 0.30
}
}
```
在上面的代码中,我们在相加后使用setScale方法来设置保留2位小数,并使用BigDecimal.ROUND_HALF_UP来指定四舍五入的方式。
阅读全文