假设我们有0.33,我们需要输出"1/3".
如果我们有"0.4",我们需要输出"2/5".
我们的想法是让人们可读,让用户理解"y部分中的x部分",作为理解数据的更好方式.
我知道百分比是一个很好的替代品,但我想知道是否有一个简单的方法来做到这一点?
例如,假设您有一个浮点数列表,它大约是常见数量的倍数
2.468,3.700,6.1699
这大约是1.234的倍数.您如何描述这种"近似gcd",您将如何进行计算或估算呢?
与我对这个问题的回答密切相关.
language-agnostic algorithm math floating-point greatest-common-divisor
我需要将十进制转换为分数.它很容易转换为10英尺.
1.5 => 15/10
这可以通过以下代码完成:
public class Rational {
    private int num, denom;
    public Rational(double d) {
        String s = String.valueOf(d);
        int digitsDec = s.length() - 1 - s.indexOf('.');
        int denom = 1;
        for (int i = 0; i < digitsDec; i++) {
            d *= 10;    
            denom *= 10;
        }
        int num = (int) Math.round(d);
        this.num = num;
        this.denom = denom;
    }
    public Rational(int num, int denom) {
        this.num = num;
        this.denom = denom;
    }
    public String toString() {
        return …我可以使用什么算法将十进制数转换并输入到c ++中的分数形式.例如,如果我输入1.25,我希望转换为输出为1 1/4.