我正在尝试创建一个 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/