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

标签 javascript comma

我正在使用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/

相关文章:

vba - 如何仅返回字符串中逗号后的文本

javascript - 如何通过复选框隐藏/显示显示具有不同标题的相同 div

javascript - 如何在两个逗号之间获取字符串

javascript - 简单的 Javascript 抛出 "Uncaught SyntaxError: Unexpected token ~"

javascript - 无法加载资源: the server responded with a status of 403 (Forbidden) and 500 (Internal Server Error)

java - 分隔符逗号

javascript - 用输入Javascript中的点替换逗号

python - 如何一次从 Pandas 的所有列中删除逗号

javascript - Nodejs + API 剩余结构

javascript - Meteor 模板 onRendered 回调未调用