未知小数位转换为整数-Python和C++版本

未知小数位转换为整数-Python和C++版本,第1张

# 纯小数转换为整数  利用的原理其实就是 小数-取整小数  那么必然有误差 只要有误差就说明还没有转换成功  转换成功就没有误差了
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;
	class="superseo">cout<<"x=";
	cin>>x;
	a=1;
	y=x;
	while(fabs(y-int(y))>1e-10)
	{
		a*=10;
		y=x*a;
	}
	cout<<y<<endl;
	return 0;
}

在不知道小数有多少位的时候,这个小数转换为整数技巧还是蛮有用的,原理我已经说了,需要的可以收藏。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1498034.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-25
下一篇 2022-06-25

发表评论

登录后才能评论

评论列表(0条)

保存