1、小数和分数的相互转换
1.1、小数化分数《编程之美》里面有
(1只考虑大于0、小于1的纯小数,且暂时不考虑分母和分子的约分,先将其表示成分数形式,再约分。小数形式要么为有限小数X=0.a1a2...an要么为无限循环小数X=0.a1a2...an(b1b2...bm,其中a1a2...anb1b2...bm都是0-9的数字(b1b2...bm表示循环节。
一、对于有限小数,X=(a1a2...an/10n
二、对于无限循环小数X=0.a1a2...an(b1b2...bm,做如下转换:
10
n
*Xa1a2...an.(b1b2...bm=a1a2...an0.(b1b2...bm
X=(a1a2...an0.(b1b2...bm/10n(式1.1
对于整数部分不需额外处理,只需把小数部分转化为分数形式在加上该整数即可。Y=0.(b1b2...b
m
(式1.2
则10m*Yb1b2...bm0.(b1b2...bmb1b2...bmY
则10m