Javascript - 将带分数转换为小数

标签 javascript type-conversion decimal eval fractions

我列出了一系列食谱成分,例如“1-1/2”,我需要将其更改为适当的数字,例如“1.5”,以便根据份量进行计算。如何将带分数变为小数?我见过 eval 函数,它适用于“1/2”之类的东西,但对于“1-1/2”之类的东西,它会将其评估为“.5”。

感谢您的帮助!

最佳答案

注意:添加安全检查(例如确保输入中有“-”等)

代码:

function toDecimal(_x) {
   var parts = _x.split("-");
   var decParts = parts[1].split("/");
   return parseInt(parts[0], 10) + 
             (parseInt(decParts[0], 10) / parseInt(decParts[1], 10));
}
var x = "1-1/2";
console.log(toDecimal(x));

关于Javascript - 将带分数转换为小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13120336/

相关文章:

java - Spring ConversionService 添加转换器

java - 语言类型兼容性

javascript - 将 javascript 集转换为字符串的最有效方法

c# - 从任何格式的字符串中解析小数

php - 在 Mysql 或 PHP 中处理小数精度

javascript - 如何 foreach 以特定类前缀开头的所有输入

javascript - 毕达哥拉斯三 Angular 计算器

javascript - 你如何在 ES6 中做 forEach?

javascript - 在 Backbone.js 中,如何阻止事件传递到父 View ?

assembly - 压缩十进制到 ASCII 汇编