gpt4 book ai didi

Java 双除法返回 0;数学检验现实生活

转载 作者:行者123 更新时间:2023-12-01 07:18:45 25 4
gpt4 key购买 nike

我正在编写一个非常简单的华氏温度到摄氏温度的转换程序,它采用一个命名常量,并通过 (constant - 32) * (5/9) 的简单计算将其转换为摄氏度

无论出于什么原因,每当我运行这个程序时,它都会为 Celcius 返回 0.0。数学在现实生活中得到检验,答案是 100,但无论出于何种原因,我总是从程序中得到 0.0。代码如下:

final double BOILING_IN_F = 212; // Boiling temperature
double fToC; // Temperature Celsius
fToC = (BOILING_IN_F - 32) * (5/9);
output = BOILING_IN_F + " in Fahrenheit is " + fToC + " in Celsius.";
System.out.println(output);

我知道在除以整数时,任何小数都会作为一个整体返回,这就是我将变量更改为 double 的原因。即使如此,它仍然返回 0。我还尝试使用 float 作为我的数据类型,并在添加(不相关的)括号时切换计算。

最佳答案

5/9 的计算结果为 0,因为 0.5555555556 四舍五入为 0,结果是 0,这是因为您使用的是整数除法。将其中一个整数更改为 float :

5 / 9.0

如果两个数字都是整数,则使用整数除法来截断结果。操作数之一必须是非整数才能使用非整数除法。

关于Java 双除法返回 0;数学检验现实生活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48408646/

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