HTML5中是否有浮点输入类型?

html HTML

梅卡卡西Eva

2020-03-16

根据html5.org的说法,“数字”输入类型的“值属性,如果指定且不为空,则必须具有一个有效浮点数的值”。

但这只是简单的(无论如何,在最新版本的Chrome中),是一个带有整数而不是浮点数的“上下”控件:

<input type="number" id="totalAmt"></input>

是否存在HTML5固有的浮点输入元素,或一种使数字输入类型适用于浮点而不是整数的方法?还是我必须使用jQuery UI插件?

第1836篇《HTML5中是否有浮点输入类型?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

6个回答
西里Stafan小哥 2020.03.16

我也遇到了同样的问题,由于法国本地化,我可以只用逗号而不是句号 / 句号来解决问题

因此它适用于:

2还可以

2,5还可以

2.5是KO(数字被视为“非法”,并且您收到空值)。

阳光米亚 2020.03.16

我这样做

 <input id="relacionac" name="relacionac" type="number" min="0.4" max="0.7" placeholder="0,40-0,70" class="form-control input-md" step="0.01">

然后,我以步长0.01在0.4中定义最小值,在0.7中定义最大值:0.4、0.41、0.42 ... 0.7

达蒙村村 2020.03.16

根据这个答案

<input type="text" id="sno" placeholder="Only float with dot !"   
   onkeypress="return (event.charCode >= 48 && event.charCode <= 57) ||  
   event.charCode == 46 || event.charCode == 0 ">

含义:

字符代码:

  • 48-57等于 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
  • 0是Backspace(否则需要Firefox上的刷新页面)
  • 46是 dot

&&AND||OR运算符。

如果您尝试使用逗号浮动:

<input type="text" id="sno" placeholder="Only float with comma !"   
     onkeypress="return (event.charCode >= 48 && event.charCode <= 57) ||  
     event.charCode == 44 || event.charCode == 0 ">

支持的Chromium和Firefox(Linux X64)(我不存在其他浏览器。)

神无梅 2020.03.16

您可以将step属性用于输入类型编号:

<input type="number" id="totalAmt" step="0.1"></input>

step="any"将允许任何小数。
step="1"将不允许小数。
step="0.5"将允许0.5; 1; 1.5; ...
step="0.1"将允许0.1; 0.2; 0.3; 0.4; ...

梅伽罗 2020.03.16

您可以使用:

<input type="number" step="any" min="0" max="100" value="22.33">
老丝番长 2020.03.16

通过:http : //blog.isotoma.com/2012/03/html5-input-typenumber-and-decimalsfloats-in-chrome/

但是,如果您希望所有数字都是有效的(整数和小数都一样)怎么办?在这种情况下,将步骤设置为“任意”

<input type="number" step="any" />

在Chrome浏览器中对我有效,未经其他浏览器测试。

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android