C++简单的华氏度转换
C++ Simple Farenheit Conversion
我正在尝试创建一个简单的程序,该程序采用用户输入的摄氏度值,并将其转换为华氏度。
#include <iostream>
using namespace std;
int main()
{
float celsius, farenheit;
cout << "Enter a temperature in farenheit ";
cin >> farenheit;
celsius = (farenheit - 32) * (5 / 9);
cout << celsius;
return 0;
}
它总是打印一个值 0,这是为什么?
这是因为您乘以 5 / 9
,由于整数除法,它为零。
如果您像这样更改括号
celsius = ((farenheit - 32) * 5) / 9;
你会得到正确的结果。
由于您用括号括(5 / 9)
,编译器在执行乘法之前计算了该值。由于 (5 / 9)
是整数表达式,因此编译器执行整数除法,这意味着小数部分将被丢弃。结果,所有适当的分数都变为零。
解决此问题的另一种方法是强制C++使用浮点除法,方法是通过将一个或两个数字附加到浮点常量(特别是 double
类型的常量)来强制.0
,例如:
celsius = (farenheit - 32) * (5.0 / 9);
相关文章:
- C++ 将静态方法转换为简单方法
- 有没有简单的方法可以将"02:00"转换为分钟,比如 120?
- 在C++中将算术类型转换为 std::array 的最简单方法<uint8_t>
- C++-将ASCII字符数组中可能的数值转换为字符的最简单方法
- 有没有一种简单的方法可以将矢量 int 集转换为字符串输出?
- 在这个简单函数中从'char'到'const char*'的无效转换
- FFMpeg与OpenCV的格式转换/简单转换
- 有没有一种简单的方法可以将系统命令的输出转换为字符串
- 运算符重载:简单添加...错误 C2677:二进制"+":未找到采用类型 ___ 的全局运算符(或者不存在可接受的转换)
- 将整数字符串转换为整数的最简单方法
- 简单的 int 到字符串转换..int to const char* 无效
- 简单的递归转换
- 错误:在非常简单的示例中,预期的构造函数、析构函数或类型转换
- 将简单的 C 加密转换为C++
- 为什么模板重载比简单的转换更匹配
- C++简单的矢量程序中从 int 类型转换为非标量类型
- 是否有Visual c++编译器在线,以及如何在c++和vs简单代码之间转换
- 如何将简单指针转换为固定大小的多维数组
- C++将int转换为具有未知基的字符串的简单方法
- 从c++到Delphi的转换(简单)