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

C++ division of variable and constant not working

我已经到处检查答案,但我不明白为什么如果我输入 stnumber 作为 123,它不会显示为 1.23,而是 1,如果我输入 0.123,它也会显示为 1。我刚开始学习 C++,所以我可能犯了一个我不理解的明显错误,如果是这样,我为此道歉。这不是 main() 函数的一部分,因此 return 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 在打印之前被舍入。