当前位置: 首页 > 知识库问答 >
问题:

角度告诉我浮点数不是数字

曹新觉
2023-03-14

如果使用了非整数,则Angular将文本框高亮显示为红色。

(function()
 {
     var app = angular.module('example', []);

     app.controller('InputController', function()
		    {
			this.number = '';
		    }
		   );
 })();
<html ng-app="example">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<form ng-controller="InputController as ctl" ng-submit="inputForm.$valid">
  <input type="number" step="0.001" pattern="(-|\+)?\d*\.?\d+" ng-model="ctl.number">
  <input type="submit">
</form>
</html>

如果我将步骤设置为,例如,0.001,那么当我放入任何小数点后三位以上的内容时,它将高亮显示红色,例如9.1234

如果我把模式(-)?\d*\。?\d,这不会改变任何东西。

结合步骤和模式并不能解决我的问题。

我怎样才能让它接受任何一个数字,而不仅仅是整数和数字?


共有1个答案

闾丘成双
2023-03-14

您有两个选项可供选择,或者设置步长,这将最多n个小数位才有效。

<input type="number" ng-model="ctl.number" step="0.01">

或者按照Tushar的建议去做,用ng模式自己验证

 类似资料:
  • 问题内容: $a = ‘35’; $b = ‘-34.99’; echo ($a + $b); 结果为0.009999999999998 这是怎么回事?我想知道为什么我的程序不断报告奇怪的结果。 为什么PHP不返回预期的0.01? 问题答案: 因为浮点运算!=实数运算。对于一些浮子和,由不精确性引起的差异的说明是。这适用于使用浮点数的任何语言。 由于浮点数是具有有限精度的二进制数,因此存在有限数量

  • 本文向大家介绍Fortran 浮点数精度,包括了Fortran 浮点数精度的使用技巧和注意事项,需要的朋友参考一下 示例 类型的浮点数real不能有任何实数值。它们可以表示实数,最多可以包含一定数量的十进制数字。 FORTRAN 77保证了两种浮点类型,而最新的标准则至少保证了两种实数类型。实变量可以声明为 x这是默认类型的实数,并且y是比更大的十进制精度的实数x。在Fortran 2008中,十

  • 我不明白为什么浮点值与双精度值不同。从下面的示例来看,对于相同的操作,float 提供的结果似乎与双精度型不同: 输出: 你能解释一下float和double之间的区别吗?

  • 问题内容: 我正在读取一个带有浮点数的文本文件,这些数字都带有1或2个小数点。我正在使用将线转换为浮点数,并在失败的情况下引发。我将所有花车存储在列表中。打印时,我想将其打印为2个小数位的浮点数。 假设我有一个文本文件,其编号为-3,65、9,17、1。我阅读了每个文件,然后将它们转换为float并将它们附加到列表中。现在在Python 2中,调用return 。但是在Python 3中,-3.6

  • 所有数字都更改为浮点,带有一个<代码>。0连接到末尾。 我试过parseInt、toFixed、round、floor和其他所有明显的选择。 一个简单的例子: 日志显示“Number”类型的浮点值,长度值为5.0。 任何添加数字的尝试都会导致相同的结果 日志仍显示浮点值 我希望返回一个整数

  • 3.2. 浮点数 Go语言提供了两种精度的浮点数,float32和float64。它们的算术规范由IEEE754浮点数国际标准定义,该浮点数规范被所有现代的CPU支持。 这些浮点数类型的取值范围可以从很微小到很巨大。浮点数的范围极限值可以在math包找到。常量math.MaxFloat32表示float32能表示的最大数值,大约是 3.4e38;对应的math.MaxFloat64常量大约是1.8