在javascript中使用数学

在javascript中使用数学,javascript,Javascript,我得到值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而不是17000,则必须删除句点: var pay = +docu

我得到值
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而不是17000,则必须删除句点:

var pay = +document.getElementById("name").innerHTML.replace(/\./g, '');
开头的一元加号(
+
)将结果字符串转换为数字。在您的示例中,这不是严格必要的,但从长远来看可以避免问题

使用
parseFloat
会暴露与隐式类型转换相同的问题


如果要再次格式化数字(即将其转换为带有千个分隔符的字符串),请查看。用句号代替逗号。

你确定它实际上是17000而不是小数点后3位的17吗?因为它的行为更像后者,好像文化在使用。表示可能未设置1000个占位符。我只获取
标记的值。我尝试使用
ParseFloat
,但不起作用。有什么想法吗?“我正在尝试使用ParseFloat,但不工作”我看不到这样的代码。
+
是否将其转换为数字?明白,谢谢@FelixKling!难道没有一种方法可以显示这个时期吗;x