为什么我的C++程序输出不同的数字来将米转换为英尺?
Why is my C++ program outputting a different number for conversion of meters to feet?
所以我正在编写一个C++程序来将米转换为英尺。该程序确实兼容。但是,当我设置英尺的值 = 3.279 并为米输入 3.25 时。答案是9.837。有人可以告诉我为什么会发生这种情况吗? (下面的代码(
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int meters;
int feet;
feet = 3.279 * meters;
cout << "Enter Meters to be converted to feet: ";
cin >> meters;
cout << meters * 3.279 << " feet " << endl;
}
整数是整数。当一个非整数被分配给整数时,C++小数点之后的所有内容都将被忽略。
int x = 1.123; // x = 1
int y = 1.999; // y = 1
此外,该程序在下一行为其分配值之前使用meters
feet = 3.279 * meters;
但是feet
在此任务之后也永远不会使用。
真正使用的唯一代码部分是
cin >> meters;
cout << meters * 3.279 << " feet " << endl;
当您输入3.25
formeters
时,整数形式的值将变为3
。因此,下一行的计算变为3 * 3.279
实际上等于9.837
。
相关文章:
- 将数字转换为字母(例如:123 转换为一二三)
- 将数字转换为单词
- 使用if-else将数字转换为单词
- 将数字转换为填充字符串
- 函数在许多数字上转换为基数 1 时减去 2?
- 为什么将双精度转换为 int 似乎在第 16 位数字之后将其四舍五入?
- 如何将 UTF-8 文本从文件转换为某个可以迭代的容器,并检查每个符号是否为C++字母数字?
- 将 C 函数转换为 C++ 以检查数字是否有效
- 编译时间文本到数字转换 (atoi)
- 以C++格式将字符串转换为数字
- 在 c++ 中将数字转换为矢量数组的函数
- 奇怪的数字转换C++
- 我想使用 std::stoi 函数在 cpp 中将字符串转换为整数,因为我想在字符串中找到不同数字的总和(在下级酶中)
- 用C++将浮点数字转换为本地化字符串
- 我需要静态转换我的数字模板值吗
- 如何将boost::asio::ip::address_v6 ip转换为2个uint64_t数字,并从2个uint 64
- Rcpp - 用二进制函数转换数字向量?
- 我如何使用堆栈转换数字从基数10到基数2在c++
- 如何在c++中从字节数组中的整数转换数字
- c++程序转换数字的位数