【发布时间】:2011-08-23 13:00:51
【问题描述】:
在 Java 中,我试图找到一种将浮点数转换为分数字符串的方法。例如:
float num = 1.33333;
String numStr = Convert(num); // Should return "1 1/3"
float num2 = 1.333;
String numStr2 = Convert(num2); // Should also return "1 1/3"
float num3 = 0.5;
String numStr3 = Convert(num3); // Should return "1/2"
float num4 = 2.25;
String numStr4 = Convert(num4); // Should return "2 1/4"
任何想法如何在 Java 中做到这一点?
【问题讨论】:
-
但是
1.33333不是1 1/3,而是1 33333/100000。我想你想为这样的重复数字设置某种模糊阈值,否则任何算法都几乎不可能得出你想要的答案(而不是“正确”的答案)。 -
另见Stern–Brocot,显示为here。
标签: java string floating-point fractions