相关疑难解决方法(0)

如何将浮点数转换为人类可读的分数?

假设我们有0.33,我们需要输出"1/3".
如果我们有"0.4",我们需要输出"2/5".

我们的想法是让人们可读,让用户理解"y部分中的x部分",作为理解数据的更好方式.

我知道百分比是一个很好的替代品,但我想知道是否有一个简单的方法来做到这一点?

language-agnostic algorithm numbers

100
推荐指数
11
解决办法
5万
查看次数

"近似的"最大公约数

例如,假设您有一个浮点数列表,它大约是常见数量的倍数

2.468,3.700,6.1699

这大约是1.234的倍数.您如何描述这种"近似gcd",您将如何进行计算或估算呢?

与我对这个问题的回答密切相关.

language-agnostic algorithm math floating-point greatest-common-divisor

44
推荐指数
4
解决办法
7644
查看次数

如何将小数转换为分数?

我需要将十进制转换为分数.它很容易转换为10英尺.

1.5 => 15/10
Run Code Online (Sandbox Code Playgroud)

这可以通过以下代码完成:

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 …
Run Code Online (Sandbox Code Playgroud)

java decimal fractions

8
推荐指数
2
解决办法
2万
查看次数

将小数转换为小数c ++

我可以使用什么算法将十进制数转换并输入到c ++中的分数形式.例如,如果我输入1.25,我希望转换为输出为1 1/4.

c++ algorithm

0
推荐指数
2
解决办法
2万
查看次数