# 纯小数转换为整数 利用的原理其实就是 小数-取整小数 那么必然有误差 只要有误差就说明还没有转换成功 转换成功就没有误差了
n = float(input()) # 0.125
y = n # y = 0.125
a = 1 # a = 1
while abs(y - int(y)) > 1e-10: # 0.125-0 >1e-10,1.25-1>1e-10, 12.5-12>1e-10,125-125=0条件终止
a *= 10 # a =10,a=100,a = 1000
y = n * a # y =1.25, y = 12.5 ,y=125
print(int(y)) # int转换一下就可以
#include#include using namespace std; int main() { double x,y; int a; cout<<"x="; cin>>x; a=1; y=x; while(fabs(y-int(y))>1e-10) { a*=10; y=x*a; } cout< 在不知道小数有多少位的时候,这个小数转换为整数技巧还是蛮有用的,原理我已经说了,需要的可以收藏。



