使用Excel VBA把有限小数和无限循环小数化为分数

对于任意的数,使用ExcelVBA把有限小数和无限循环小数化为分数("a/b"的形式),把无限不循环小数中可以化为"SQRT(a)"的形式进行转化。保留整数和不可转化的数... 对于任意的数,使用Excel VBA把有限小数和无限循环小数化为分数("a/b"的形式),把无限不循环小数中可以化为"SQRT(a)"的形式进行转化。保留整数和不可转化的数。应怎样写代码? 展开
 我来答
chenjiawei5000
2013-08-15 · TA获得超过2776个赞
知道大有可为答主
回答量:2585
采纳率:30%
帮助的人:2025万
展开全部
有限小数化分数:小数点后面的数做分子,分子有几位数,分母就除几个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

无限不循环小数——想化为一个有理数开根号的形式??
不一定是开平方根形成的,所以只能试一下
把这个数平方,之后看看这个数是否为有理数,如果是,那么可以按上述情况化分数,如果不是,就走不通了。

总结:这个问题是个数学问题。程序可以写,如果你确认要的话。但是,无线不循环小数那个方案需要你再确认。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式