java中如何实现N个浮点数相加并确保其精确度

并帮忙写出完整的代码,谢谢啦!!!
2025-05-16 06:45:17
推荐回答(2个)
回答(1):

用BigDecimal类来计算,先用加法计算,再用结果除以1,通过devide除法方法来确认保留几位小数,如下例:

import java.math.*;
public class Demo
{
    public static void main(String[] args){
    BigDecimal big1 = new BigDecimal(123456.23456);
    BigDecimal big2 = new BigDecimal(123.456);
BigDecimal big3 = new BigDecimal(1);
BigDecimal temp = big1.add(big2);
    System.out.println(big1.divide(big3,5,BigDecimal.ROUND_HALF_UP));//保留5位小数,返回bigDecimal
}
}

回答(2):

用strictfp(精确浮点)修饰变量