java四舍五入 保留两位小数

学习 时间:2026-04-02 06:44:30 阅读:9474
java四舍五入 保留两位小数x1=((double)(-b)+Math.sqrt((double)d))/(2*(double)a);\x05\x05\x05 x2=((double)(-b)-Math.sqrt((double)d))/(2*(double)a);\x05\x05\x05x1=Math.round(x1/0.01)*0.01;\x05\x05\x05x2=Math.round(x2/0.01)*0.01;a=21 b=89 c=35 为什么x1能输出-0.44 但是x2就会变成-3.80000000000003呢?

最佳回答

魔幻的铅笔

谦让的红酒

2026-04-02 06:44:30

因为double型小数部分会在从二进制变十进制的类型变换中产生误差,所以x2会变成-3。80000000000003,如果要使输出四舍五入 保留两位小数,可以用String的format函数,方法如下:
System。out。println(String。format("%。2f",x1));
System。out。println(String。format("%。2f",x2));

最新回答共有2条回答

  • 可爱的斑马
    回复
    2026-04-02 06:44:30

    因为double型小数部分会在从二进制变十进制的类型变换中产生误差,所以x2会变成-3。80000000000003,如果要使输出四舍五入 保留两位小数,可以用String的format函数,方法如下:System。out。println(String。format("%。2f",x1));System。out。println(String。format("%。2f",x2));

上一篇 水龙头一天能流多少水

下一篇 形容话很多,能言善辩的成语有哪些