var ratings = 3193;
var reviews = 9;
var average = parseFloat(ratings) / reviews; //I want a floating point number at the end.
这是正确的方法吗?
答案 0 :(得分:2)
JavaScript中的所有数字都是双精度64位二进制格式IEEE 754.没有必要像“C / C ++”和其他语言那样将“整数”强制转换为“浮点数”。只有在处理字符串时才需要parse*
。
另见:
对应于双精度64位二进制格式IEEE 754值的原始值
parseInt
,parseFloat
(两者都以字符串作为参数)
答案 1 :(得分:1)
无需转换。 JavaScript会自动在不同类型之间进并且数字实际上并未在内部表示为整数。无论如何,它们都是浮点数。
因此,最简单的解决方案应该具有预期的效果:
var ratings = 3193;
var reviews = 9;
var average = ratings/reviews;
您的示例中包含的内容会导致引擎将ratings
转换为String并将该字符串解析为double(理论上导致它必须以它开始的值),然后将其作为计算中的分子处理