gpt4 book ai didi

java - 特定情况下的舍入

转载 作者:行者123 更新时间:2023-12-02 13:03:30 24 4
gpt4 key购买 nike

当我将三个 double 加在一起时,我正在尝试创建一个计算器应用程序。返回 (1.1 + 1.1 + 1.1) 3.3000000000000003。仅当三个数字相加 (1.1 + 1.1) 返回 2.2 时才会发生这种情况

他们是否有一种方法,仅当一行中的 2 位数字为零时才使用十进制格式进行舍入以防止这种情况发生?

谢谢!

如果您需要查看更多我的代码,请告诉我,我认为这已经足够了,尽管我可能是错的。

等于按钮方法

equals_button_IB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//new value being added everytime addition button is pressed, last number to be added will not have addition button
//pressed after it, so this adds the last value to the values array list
values.add(current_screen_value);
System.out.println(values);
double sum = 0;
for(int i = 0; i<values.size(); i++){
sum+= Double.parseDouble(values.get(i));
}
System.out.println(sum);
clearScreen(null);
updateScreen(String.valueOf(sum));


}
});

最佳答案

发生这种情况可能是因为 Double 的编码数字。要解决这个问题,您可以使用 BigDecimal 类(如 here )

关于java - 特定情况下的舍入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44230492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com