永发信息网

java 如何把小数变成分数

答案:4  悬赏:60  手机版
解决时间 2021-05-12 23:11
  • 提问者网友:蓝莓格格巫
  • 2021-05-12 01:10
rt
最佳答案
  • 五星知识达人网友:拾荒鲤
  • 2021-05-12 02:06

用伪代码表示吧,懒得另外做注释了


(1)小数点后面的位数不确定,如果你用浮点类型表示小数,可以直接


类型 分子 = x*1000000;


类型 分母 = 1000000.


(2)约分,如果没有找到相关函数。想自己动手解决。2个循环就OK了。


当然有一点要注意,约分只能用10,5,2约分(数学问题,自己想)


main(){


....


where(分子能整除10)


{ 分子=分子/10;


分母=分母/10;


}


where(分子能整除5 and 分母能整除5)


{


分子=分子/5;


分母=分母/5;


}



where(分子能整除2 and 分母能整除2)


{


分子=分子/2;


分母=分母/2;


}


...


}

全部回答
  • 1楼网友:一袍清酒付
  • 2021-05-12 05:11

具体方法 因题而异 我说下思路

建一个分数类,带两个属性,一个表示分子,一个表示分母。建立若干方法,分别用于分数对象之间的加减乘除、以及获得小数,整数的表示形式。再搞若干的静态方法,用于直接从字符串获得分数等用途,具体可以参考Integer和Float等类的定义方式

  • 2楼网友:夜余生
  • 2021-05-12 04:28

先得知道有多少位小数,然后乘对应个10,变成整数,0.35就变成了35和100,然后求最大公约数,这里是5,两个数都除以最大公约数,就是7/20了

  • 3楼网友:愁杀梦里人
  • 2021-05-12 03:43
小数点后面有几位数就是分母下的一后面几个零的决定分子就是小数点后面跟的数,再约分,例如:0.35=35/100=7/20
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯