【问题标题】:decimal number as input, but turn the fraction and output as decimal js十进制数作为输入,但将分数转换为十进制js
【发布时间】:2020-06-03 17:01:10
【问题描述】:

我需要一个十进制数作为输入(参数)的函数。该函数应将数字的小数转换为十进制数。

我认为,在我的使用中,分子可以始终为 1。 例如我有fraction 1/4

并且想得到输出4/1 (same as 4).

如果有人有其他想法如何解决,也请回答。

我对每个答案都很满意

【问题讨论】:

标签: javascript math


【解决方案1】:

由于所有分数的分子都是 1,因此函数就是 1/fraction:(1/f)-1 = 1/(1/f) = f。

只要你有一个分子不是 1 的东西,结果就会有所不同,但使用“deciaml”/float 输入也是不可能的,这只是因为数学规则。小数点数 0.25 等于 1/4, 2/8, 4/16, ... 这使得(不保存分数)不可能从仅减少的小数点数返回到“原始”分数。

function denominator(fraction){
  return 1/fraction;
}

// demo only
const test_fractions = ["1/2", "1/3", "1/4", "1/9", "1/35", "2/8"];
for(let i = 0; i < test_fractions.length; i++){
  let f = test_fractions[i].split("/");
  f = parseInt(f[0])/parseInt(f[1]);
  console.log("The denominator of", test_fractions[i], "=", f, "is", denominator(f));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-31
    • 2018-07-04
    • 1970-01-01
    • 2015-01-26
    • 1970-01-01
    • 2014-01-06
    • 1970-01-01
    相关资源
    最近更新 更多