预期输出是:
值123456789包含9位数字。
但给定的输出是:
值1.23457e+08包含332位数字
来源:
#include <iostream>
using namespace std;
int main ()
{
double number_1 = 123456789;
double numberOfdigits = 1;
double tmp = number_1;
while (tmp /= 10)
numberOfdigits ++;
cout << "The Value " << number_1 << " contains " << numberOfdigits << " digits " << '\n';
}
Run Code Online (Sandbox Code Playgroud)
小智 5
不要使用 Double ,除非您不需要计算并获得确切的结果。在您的情况下,您可以根据需要使用int或const int。
#include <iostream>
using namespace std;
int main ()
{
int const number_1 = 123456789;
double numberOfdigits = 1;
int tmp = number_1;
while (tmp /= 10)
numberOfdigits ++;
cout << "The Value " << number_1 << " contains " << numberOfdigits << " digits " << '\n';
}
Run Code Online (Sandbox Code Playgroud)