gpt4 book ai didi

java - double 转换为分数

转载 作者:行者123 更新时间:2023-11-30 03:04:58 32 4
gpt4 key购买 nike

我想要将 double 值转换为分数(在 Java 中)。

示例:0.33333 -> 1/3

我找到了很多分数的例子,但这对我没有帮助。数字始终在 0 到 1 之间。

也许有人有想法吗?

坦克斯

最佳答案

我猜你想要 double 值的近似分数表示(如你的示例)

一种简单的方法是逐一尝试分母:

double doubleVal = 0.33333;
double negligibleRatio = 0.01;

for(int i=1;;i++){
double tem = doubleVal/(1D/i);
if(Math.abs(tem-Math.round(tem))<negligibleRatio){
System.out.println(Math.round(tem)+"/"+i);
break;
}
}

这会打印1/3。如果设置 double doubleVal = 0.6363636;,则会打印 7/11

如果您想要更简洁的分数结果,可以将 negligibleRatio 更改为更大的值。

关于java - double 转换为分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35031139/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com