C++ 输入一个双精度的数,将小数部分给提出来(小数部分以整数呈现)
#include <iostream>
using namespace std;
int main()
{
int a = 1;
double n,b;
cin >> n;
int x=n; //整理n中整数部分;
n = n - x; //用来扣掉n的整数部分;
b = n;
while (n - int(n))
{
a *= 10;
n = b * a;
}
cout << n<<endl;
return 0;
}
在不输入整数的情况时,可以实现小数部分提出
但是当输入带整数时,就会 输出0;


不知道为什么int(n)总是比n少1
还有什么方法可以解决这个问题的答案吗(小数部分以整数呈现)