【问题标题】:Input type=number : Firefox converts floating point number to integer when there are 3 digit after a point输入类型=数字:当点后有 3 位数字时,Firefox 将浮点数转换为整数
【发布时间】:2015-03-12 17:41:22
【问题描述】:

在 Firefox 34 上,我在 <input type="number"> 上遇到了奇怪的行为。

当输入类似11.001(注意这一点)时,它会转换为110001

仅当点后有 3 位数字时才会发生这种情况。

有没有办法防止这种行为?

顺便说一句:我注意到法语 Windows 7 上的这种行为。

【问题讨论】:

    标签: html firefox html-input


    【解决方案1】:

    您的浏览器使用法语区域设置,法语使用逗号作为小数分隔符,句点表示千位

    来自Mozilla documentation

    本地化

    某些类型的允许输入取决于语言环境。在某些语言环境中,1,000.00 是一个有效数字,而在其他语言环境中,输入此数字的有效方式是 1.000,00

    Firefox 使用以下启发式方法来确定区域设置以验证用户的输入(至少对于 type="number"):

    • 尝试由元素或其任何父元素上的 'lang'/'xml:lang' 属性指定的语言;

    • 尝试任何 Content-Language HTTP 标头指定的语言或

    • 如果未指定,请使用浏览器的语言环境。

    如果您想更改此行为,请使用:

    <input lang="en" type="number">
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-18
      • 1970-01-01
      相关资源
      最近更新 更多