输入类型=数字:当点后有 3 位数字时,Firefox 将浮点数转换为整数
Posted
技术标签:
【中文标题】输入类型=数字:当点后有 3 位数字时,Firefox 将浮点数转换为整数【英文标题】:Input type=number : Firefox converts floating point number to integer when there are 3 digit after a point 【发布时间】:2015-03-12 17:41:22 【问题描述】:在 Firefox 34 上,我在 <input type="number">
上遇到了奇怪的行为。
当输入类似11.001
(注意这一点)时,它会转换为110001
。
仅当点后有 3 位数字时才会发生这种情况。
有没有办法防止这种行为?
顺便说一句:我注意到法语 Windows 7 上的这种行为。
【问题讨论】:
【参考方案1】:您的浏览器使用法语区域设置,法语使用逗号作为小数分隔符,句点表示千位。
来自Mozilla documentation:
本地化
某些类型的允许输入取决于语言环境。在某些语言环境中,1,000.00 是一个有效数字,而在其他语言环境中,输入此数字的有效方式是 1.000,00。
Firefox 使用以下启发式方法来确定区域设置以验证用户的输入(至少对于 type="number"):
尝试由元素或其任何父元素上的 'lang'/'xml:lang' 属性指定的语言;
尝试任何 Content-Language HTTP 标头指定的语言或
如果未指定,请使用浏览器的语言环境。
如果您想更改此行为,请使用:
<input lang="en" type="number">
【讨论】:
以上是关于输入类型=数字:当点后有 3 位数字时,Firefox 将浮点数转换为整数的主要内容,如果未能解决你的问题,请参考以下文章