3 回答
TA贡献1891条经验 获得超3个赞
如果它们是单独的值,请尝试以下操作:
var values = "554,20".split(",")
var v1 = parseFloat(values[0])
var v2 = parseFloat(values[1])
如果它们是单个值(例如法语,其中一半写为0.5)
var value = parseFloat("554,20".replace(",", "."));
TA贡献1802条经验 获得超5个赞
用点替换逗号。
这只会返回554:
var value = parseFloat("554,20")
这将返回554.20:
var value = parseFloat("554.20")
因此,最后,您可以简单地使用:
var fValue = parseFloat(document.getElementById("textfield").value.replace(",","."))
不要忘记,它parseInt()仅应用于解析整数(无浮点数)。在您的情况下,它仅返回554。此外,在float上调用parseInt()不会舍入该数字:它将取其底值(最接近的下整数)。
扩展示例以从评论中回答Pedro Ferreira的问题:
如果文本字段包含成千上万个分隔符,则1.234.567,99可以事先用另一个分隔符消除它们replace:
var fValue = parseFloat(document.getElementById("textfield").value.replace(/\./g,"").replace(",","."))
添加回答
举报