javascript - 将分数字符串转换为小数?

标签 javascript scope fractions

我正在尝试创建一个 JavaScript 函数,它可以接受分数输入字符串,例如 '3/2' 并将其转换为十进制 - 或者作为字符串 '1.5' 或数字 1.5

function ratio(fraction) {
    var fraction = (fraction !== undefined) ? fraction : '1/1',
    decimal = ??????????;
    return decimal;
});

有办法做到这一点吗?

最佳答案

由于还没有人提到过,所以有一个快速但肮脏的解决方案:

var decimal = eval(fraction); 

它具有正确评估各种数学字符串的优点。

eval("3/2")    // 1.5
eval("6")      // 6
eval("6.5/.5") // 13, works with decimals (floats)
eval("12 + 3") // 15, you can add subtract and multiply too

这里的人很快就会提到使用原始评估的危险,但我将其作为懒人的答案提交。

关于javascript - 将分数字符串转换为小数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7142657/

相关文章:

javascript - 将语句插入自定义 WordPress 数据库

javascript - 如何一个接一个地执行 jquery 函数(以及其他几个问题)

javascript - React-Native — 访问 componentDidMount 外部的函数

c++ - C++中如何将分数转换为 float

java - 将小数转换为分数

C++ 运算符重载 Int 类型

javascript - 缩放和缩放图像

javascript - IE11 + Vue-Cli + Webpack + Babel - SCRIPT1003 错误

c++ - "Not declared in scope"C++ 问题

C++ 访问上层作用域而不是全局