变量和常量的C ++除法不起作用

时间:2017-08-14 13:23:05

标签: c++ decimal division

我已经到处检查了答案,我无法弄清楚为什么如果我输入stnumber为123它不会出现为1.23,而是1,如果我输入0.123它也会来我只是开始学习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;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

int stsc()

是问题所在。做那个

long double stsc()

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