gpt4 book ai didi

javascript - 输入表格将点更改为逗号第三个十进制错误

转载 作者:行者123 更新时间:2023-11-28 06:48:06 25 4
gpt4 key购买 nike

我正在使用Firefox。如果将ParseFloat()或Number()应用于字符串或数字,然后将值更新为输入形式,则所显示数字的格式为逗号而不是点。但是由于一个神秘的原因,当一个人使用3个小数时它不起作用。

例如。

1.1 --> 1,1
1.23 --> 1,23
1.3456 --> 1,3456




1.234 --> 1.234


真的很奇怪

<input type="number"  onKeyPress="if (event.keyCode == 13) { DotToComma(this); }"></input>

function DotToComma(that) {
if (that.value.indexOf(".") >= 0) {
var str = that.value;
that.value = Number(str);
}
}


你知道为什么吗

我正在开发WebAPP,并且我的代码仅在用逗号而不是点输入数字时才有效。

最佳答案

看来Javascript试图将字符串解析回浮点数而不是字符串。

只需添加toString()函数以确保将其转换。您也可以使用String()对象进行转换。

function DotToComma(that) {
if (that.value.indexOf(".") >= 0) {
var str = that.value.toString();
that.value = Number(str);
}
}


您也可以像这样简化代码:

that.value = parseFloat(that.value.toString().replace(/./, ','));

关于javascript - 输入表格将点更改为逗号第三个十进制错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33216318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com