刚从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++将5
和9
解释为int
值,因此5/9
也是int
。
5/9 = 0.566,它被截断为0
。
要解决此问题,请将.0
或.f
附加到分别解释为double或float的值上。
关于c++ - C++将浮点数乘以小数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62491888/