刚从MATLAB背景开始C++并感到困惑。

float farenheit, celcius;
cin >> farenheit;
celcius = (farenheit - 32) * (5 / 9);
cout << "Temperature (c): " << celcius;
为什么乘以5/9不能按预期方式工作,但这样做呢?:
float farenheit, celcius;
cin >> farenheit;
celcius = ((farenheit - 32) * 5) / 9);
cout << "Temperature (c): " << celcius;
谢谢!

最佳答案

感谢大家,
C++将59解释为int值,因此5/9也是int
5/9 = 0.566,它被截断为0
要解决此问题,请将.0.f附加到分别解释为double或float的值上。

关于c++ - C++将浮点数乘以小数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62491888/

10-11 03:58