使用Excel VBA把有限小数和无限循环小数化为分数
对于任意的数,使用ExcelVBA把有限小数和无限循环小数化为分数("a/b"的形式),把无限不循环小数中可以化为"SQRT(a)"的形式进行转化。保留整数和不可转化的数...
对于任意的数,使用Excel VBA把有限小数和无限循环小数化为分数("a/b"的形式),把无限不循环小数中可以化为"SQRT(a)"的形式进行转化。保留整数和不可转化的数。应怎样写代码?
展开
1个回答
展开全部
有限小数化分数:小数点后面的数做分子,分子有几位数,分母就除几个10.
无限循环小数化分数:分两种情况:
1纯循环小数(如0.343434…… 34循环)
2混循环小数(如0.156343434…… 34循环)
两种情况的公式不同。
公式1—— 循环节做分子,循环节有几位数就用几个9做分母
举例:0.34(34循环) = 34/99 能化简的再化简
公式2——非循环数连同循环节组成一个数 减去 非循环数做分子。9和0做分母,循环节有几位就有几个9,非循环数有几位就有几个0
举例:0.15634(34循环) = (15634-156)/99000 非循环数(156)3位,所以3个0,循环节(34)2位,所以2个9
无限不循环小数——想化为一个有理数开根号的形式??
不一定是开平方根形成的,所以只能试一下
把这个数平方,之后看看这个数是否为有理数,如果是,那么可以按上述情况化分数,如果不是,就走不通了。
总结:这个问题是个数学问题。程序可以写,如果你确认要的话。但是,无线不循环小数那个方案需要你再确认。
无限循环小数化分数:分两种情况:
1纯循环小数(如0.343434…… 34循环)
2混循环小数(如0.156343434…… 34循环)
两种情况的公式不同。
公式1—— 循环节做分子,循环节有几位数就用几个9做分母
举例:0.34(34循环) = 34/99 能化简的再化简
公式2——非循环数连同循环节组成一个数 减去 非循环数做分子。9和0做分母,循环节有几位就有几个9,非循环数有几位就有几个0
举例:0.15634(34循环) = (15634-156)/99000 非循环数(156)3位,所以3个0,循环节(34)2位,所以2个9
无限不循环小数——想化为一个有理数开根号的形式??
不一定是开平方根形成的,所以只能试一下
把这个数平方,之后看看这个数是否为有理数,如果是,那么可以按上述情况化分数,如果不是,就走不通了。
总结:这个问题是个数学问题。程序可以写,如果你确认要的话。但是,无线不循环小数那个方案需要你再确认。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |