始终以两位小数显示数字< input>

siv3szwd  于 2022-10-31  发布在  Angular
关注(0)|答案(9)|浏览(178)

我有一个ng-model的浮点值,我希望在<input>中始终显示为2位小数:

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

当“myNumb”有小数位时,这适用于大多数情况。但是,如果“myNumb”的小数位数少于2位(3.2)或整数(30),则不会强制显示2位小数位。
如何在<input>字段中强制显示2位小数

mbskvtky

mbskvtky1#

AngularJS - Input number with 2 decimal places它可能会有帮助...筛选:
1.使用ng-pattern设置正则表达式来验证输入。这里我只想接受最多2位小数和带点分隔符的数字。

<input type="number" name="myDecimal" placeholder="Decimal" ng-model="myDecimal | number : 2" ng-pattern="/^[0-9]+(\.[0-9]{1,2})?$/" step="0.01" />

向前阅读本题,指向下一个答案ng-model="myDecimal | number : 2"

fgw7neuy

fgw7neuy2#

如果您使用的是Angular 2(显然它也适用于Angular 4),则可以使用以下公式舍入到小数点后两位{{ exampleNumber | number : '1.2-2' }},如下所示:

<ion-input value="{{ exampleNumber | number : '1.2-2' }}"></ion-input>

故障

'1.2-2'表示{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}

  • 小数点前至少显示1位数字
  • 小数点后至少显示两位数
  • 但不超过2位数

信用到期日herehere

qeeaahzv

qeeaahzv3#

{{value | number : fractionSize}}

例如{{12.52311 | number : 2}}
因此这将打印12.52

jhiyze9q

jhiyze9q4#

简单地使用数字管道,如:
{{ numberValue | number : '.2-2'}}
上述管道的工作原理如下:

  • 在小数点前至少显示1个整数位,默认设置
  • 显示小数点后不少于2位整数
  • 显示小数点后不超过2个整数位
fivyi3re

fivyi3re5#

你试过用过滤器吗

<input ng-model='val | number: 2'>

https://docs.angularjs.org/api/ng/filter/number

zpgglvta

zpgglvta6#

另一个简写为(@maudulus 's answer)的方法是删除{maxFractionDigits},因为它是可选的。
您可以使用{{numberExample | number : '1.2'}}

efzxgjgh

efzxgjgh7#

将数字舍入到小数位的最佳方法是

a=parseFloat(Math.round(numbertobeRound*10^decimalplaces)/10^decimalplaces);

例如:

numbertobeRound=58.8965896589;

如果你想要58.90
小数位数为2

a=parseFloat(Math.round(58.8965896589*10^2)/10^2);
0ve6wy6x

0ve6wy6x8#

(数学四舍五入(2.782061* 100)/100).变为固定(2);
这会将其转换为两位小数:例如:2.782061 ---〉2.78两位小数

hts6caw3

hts6caw39#

使用带有空符号($)的货币过滤器

{{val | currency:''}}

相关问题