我得到了价值17.000
,17000。
var pay = document.getElementbyId("name").InnerHTML;
alert(pay);
它显示"17.000"
。但如果我这样做:
var f = (pay * 24);
alert(f);
它显示 408,而不是 408.000。它使17 * 24
不17.000 * 24
。如何解决这个问题?
我得到了价值17.000
,17000。
var pay = document.getElementbyId("name").InnerHTML;
alert(pay);
它显示"17.000"
。但如果我这样做:
var f = (pay * 24);
alert(f);
它显示 408,而不是 408.000。它使17 * 24
不17.000 * 24
。如何解决这个问题?
句点是英语中的小数点。如果您想"17.000"
被视为一万七千而不是十七,则必须删除句点:
var pay = +document.getElementById("name").innerHTML.replace(/\./g, '');
+
开头的一元加号 ( ) 将结果字符串转换为数字。在您的示例中,这不是绝对必要的,但从长远来看可以避免问题。
UsingparseFloat
暴露了与隐式类型转换相同的问题。
如果您想再次格式化数字(即将其转换为带有千位分隔符的字符串),请查看如何在 JavaScript 中将带逗号的数字打印为千位分隔符。只需使用句号而不是逗号。