永发信息网

java 如何把小数变成分数

答案:4  悬赏:60  手机版
解决时间 2021-05-12 23:11
rt
最佳答案

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


(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;


}


...


}

全部回答

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

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

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

小数点后面有几位数就是分母下的一后面几个零的决定分子就是小数点后面跟的数,再约分,例如:0.35=35/100=7/20
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁有完整一点网络歌手的--放弃的链接地址 【
杨贵妃的故乡是哪里,在《长恨歌》中杨贵妃是
剑三图谱可以买吗,剑三图谱有卖的么
三星GT-C3300k好不?一般能用几年?
曾经我以为自己对他只有依赖没有爱的感觉!但
我与文明通行作文
歌颂爱情的英文诗词,描写 才女的诗词
在三亚玩男神穿什么,去三亚和大理那个地方旅
我的CF技术达到了颈瓶、怎么才能突破呢?
为什么女生大部分都有胃病的毛病啊!
世界上最高的狗是什么,世界上最高学历是什么
梦幻诛仙有什么办法能一机开4个号以上
他努力工作是为了赚更多的钱 的英语怎么说(3
猴年对长辈的祝福语,求猴年给公司拜年祝福语
如何上好第一节语文课,如何上好新学期的第一
推荐资讯
鸭掌木几年开花
QQ寻仙QQ卡充值还能不能换礼包了?
山水青绿是什么意思
google这个单词怎么念?音标是什么
为啥最近俩月茶叶生意这么难做?是淡季吗?
鸿蒙大愿是什么意思,开篇鸿蒙是什么意思
地的成语的成语有哪些,告,安,示,民这四个字组
怎么深圳没有直到杭州的列车
在键盘上SLEEP,WAKE UP 是哪个键?,说下具
一天中摸的最多的是什么东西?
大老师关于恋爱的语录,求幸福恋爱中的甜蜜语
笔记本自动停机
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?