我正在尝试计算double的小数部分的位数,但是出现问题并且我得到无限循环:
double pi = 3.141592;
int counter = 0;
for (; pi != int(pi); ++counter)
pi *= 10;
cout << counter << endl;
Run Code Online (Sandbox Code Playgroud)
我刚读过这个问题,但是我找不到一个好的解决方案.除了将数字转换为字符串和计数字符之外,真的没有更好的方法吗?我想有更正确的方法.