2

我得到了价值17.000,17000。

var pay = document.getElementbyId("name").InnerHTML;
alert(pay);

它显示"17.000"。但如果我这样做:

var f = (pay * 24);
alert(f);

它显示 408,而不是 408.000。它使17 * 2417.000 * 24。如何解决这个问题?

4

1 回答 1

6

句点是英语中的小数点。如果您想"17.000"被视为一万七千而不是十七,则必须删除句点:

var pay = +document.getElementById("name").innerHTML.replace(/\./g, '');

+开头的一元加号 ( ) 将结果字符串转换为数字。在您的示例中,这不是绝对必要的,但从长远来看可以避免问题。

UsingparseFloat暴露了与隐式类型转换相同的问题。

如果您想再次格式化数字(即将其转换为带有千位分隔符的字符串),请查看如何在 JavaScript 中将带逗号的数字打印为千位分隔符。只需使用句号而不是逗号。

于 2013-08-11T21:48:52.597 回答