社区
Java SE
帖子详情
求小数变成分数的算法?
ppcodeyes
2004-08-05 02:43:38
比如:
0.12 => 3/25
0.5 => 1/2
0.58 => 29/50
现在不知道如何才能自动换成最简分数。
万分感觉
...全文
697
12
打赏
收藏
求小数变成分数的算法?
比如: 0.12 => 3/25 0.5 => 1/2 0.58 => 29/50 现在不知道如何才能自动换成最简分数。 万分感觉
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ppcodeyes
2004-08-08
打赏
举报
回复
测试了一下,发现1/3, 1/7这样的转成小数后不能转回来了。请问各位有没有好办法
junmayang
2004-08-05
打赏
举报
回复
我一分都没有!
charmguy
2004-08-05
打赏
举报
回复
收藏
ppcodeyes
2004-08-05
打赏
举报
回复
结帐啦
whasx
2004-08-05
打赏
举报
回复
厉害
ppcodeyes
2004-08-05
打赏
举报
回复
测试通过,大侠啊,真是感谢了。好人、强人也
ppcodeyes
2004-08-05
打赏
举报
回复
万分感激,先试试看。
liutang2
2004-08-05
打赏
举报
回复
强
Lutx
2004-08-05
打赏
举报
回复
临时写了一个,仅供参考。
package ltx;
import java.lang.String;
public class Xs2fs {
public static String xs2fs(double fNumber) {
String sA = String.valueOf(fNumber);
if (sA.indexOf(".") < 0) {
// fNumber is an integer
return sA;
}
String sZsbf = sA.substring(0,sA.indexOf(".") );
String sXsbf = sA.substring(sA.indexOf(".") + 1);
int nXsws = sXsbf.length() ; //小数位数
long lFenmu = 1;
for (int k=0; k< nXsws; k++)
lFenmu *= 10;
long lFenzi = Long.parseLong( sZsbf + sXsbf );
long lXs = (lFenzi < lFenmu) ? lFenzi : lFenmu;
long j = 1; //最大公约数
for (j = lXs; j > 1; j --) {
if (lFenzi % j ==0 && lFenmu % j == 0) {
break;
}
}
lFenzi = lFenzi / j;
lFenmu = lFenmu / j;
return String.valueOf(lFenzi) + "/" + String.valueOf(lFenmu) ;
}
public static void main(String[] args) {
System.out.println ( xs2fs(1.24) );
}
}
ppcodeyes
2004-08-05
打赏
举报
回复
god 在哪儿啊
ppcodeyes
2004-08-05
打赏
举报
回复
就是这个算法不好写,不知道有没有现成的啊,大哥
junmayang
2004-08-05
打赏
举报
回复
先把小数转成10的N次方分之几的形式,然后算分子和分母的最大公数,再把分子和分母除以这个最大分约数,不就换成了最简分数?
一种
小数
转
分数
的
算法
(不限整除)C++
最近需要用到
小数
转
分数
算法
,便研究了一下。 先看一下最终程序的效果: 说一下数学中有理
小数
转
分数
的过程: 有理
小数
分为有限
小数
和无限循环
小数
1. 有限
小数
: 有限
小数
直接去
小数
点再约分即可。 例:...
c语言如何把
小数
变成
分数
,这是把
小数
转换成
分数
的程序,可是输入0.6666无限循环...
该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include int main(){...////////////////////////////////////////////////输入
小数
int b, c =0, d =0;double b1 =a;do{b1 *=10;b =(int)b1;printf("%d\n", b);if(b%...
小数
转换
分数
这是一个C语言的程序,但是也可以用c++中的类去写,并且用c++,中的类去写还会有可以对我们的数可以运算的优点,我将会贴出我的两种
算法
。 第一种:C语言形式 #include <iostream> #include <malloc.h&...
小数
化
分数
c++(附做法数学证明)
小数
化
分数
c++(附做法数学证明)
求
分数
循环节(
分数
化
小数
)的
算法
USCAO 2.4.5中的题 Fractions to Decimals有一个tricky的解法,用分母中2的因子个数减去分子中2的因子个数,同样用分母中5的因子个数减去分子中5的因子个数,去两者这两者个数的最大值,这个就是
分数
的非循环部分的...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章