首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在HTML5数字输入中强制使用小数点而不是逗号(客户端)

在HTML5数字输入中强制使用小数点而不是逗号(客户端)
EN

Stack Overflow用户
提问于 2011-05-30 23:50:25
回答 15查看 165.7K关注 0票数 102

我已经看到一些浏览器将数字的input type="number"表示法本地化。

所以现在,在我的应用程序显示经度和纬度坐标的字段中,我得到了类似于"51,983“的内容,而它应该是"51.982559”。我的变通方法是使用input type="text",但我希望使用数字输入并正确显示小数。

有没有一种方法可以强制浏览器在数字输入中使用小数点,而不管客户端的本地设置?

(不用说,在我的应用程序中,我无论如何都会在服务器端纠正这个错误,但在我的设置中,我也需要它在客户端正确无误(因为一些JavaScript))。

提前谢谢。

更新到目前为止,在Windows7上检查Chrome28.0.1500.71m版本,数字输入不接受逗号格式的小数。使用step属性提出的建议似乎不起作用。

http://jsfiddle.net/AsJsj/

EN

回答 15

Stack Overflow用户

发布于 2011-09-30 20:02:49

通过将step属性指定为所需小数的精度,并将lang属性设置为使用period对小数进行格式化的区域设置,您的html5数字输入将接受小数。例如:要获取像10.56这样的值;我的意思是2个小数位数,请执行以下操作:

代码语言:javascript
复制
<input type="number" step="0.01" min="0" lang="en" value="1.99">

您可以进一步指定最大允许值的最大属性。

编辑输入将lang属性添加到具有区域设置值的输入元素,该区域设置值使用点而不是逗号设置小数的格式

票数 32
EN

Stack Overflow用户

发布于 2015-03-22 19:21:35

目前,Firefox支持输入所在的HTML元素的语言。例如,在Firefox中尝试此小提琴:

http://jsfiddle.net/ashraf_sabry_m/yzzhop75/1/

您将看到数字是阿拉伯语的,逗号用作小数点分隔符,阿拉伯语就是这种情况。这是因为BODY标记被赋予了lang="ar-EG"属性。

接下来,试试这个:

http://jsfiddle.net/ashraf_sabry_m/yzzhop75/2/

这里使用一个点作为小数点分隔符,因为在给定属性lang="en-US"的情况下,输入被包装在DIV中。

因此,您可以采用的解决方案是使用容器元素包装数值输入,该容器元素设置为使用点作为小数分隔符的区域性。

票数 30
EN

Stack Overflow用户

发布于 2013-07-13 05:32:24

根据spec,您可以使用any作为step属性的值:

代码语言:javascript
复制
<input type="number" step="any">
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6178332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档