变量和常数的C++划分不起作用



我已经到处检查了答案,我不知道为什么如果我输入 stnumber 为 123,它不会显示为 1.23,而是 1,如果我输入 0.123,它也显示为 1。 我刚刚开始学习C++,所以我可能犯了一个我不明白的明显错误,如果是这样,我为此道歉。这不是main((函数的一部分,所以返回stnumber会把它发回去。编辑:我现在把整个程序放在这里。

#include <iostream>
int stsc()
{
std::cout << "enter your number" << std::endl;
long double stnumber = 1.0;
std::cin >> stnumber;
for (;;) {
if (stnumber >= 1.0) {
if (stnumber < 10.0) {
return stnumber;
}
stnumber = stnumber / 10.0;
}
if (stnumber < 1.0) {
stnumber = stnumber * 10.0;
}
}
}
int stsc()

是问题所在。做那个

long double stsc()

该函数返回一个整数值,并且您的变量 stnumber 在打印之前向下舍入。

最新更新