javascript - 如果有逗号,则 nativeElement.value 为 NaN
问题描述
我正在尝试将输入中的小数位数设置为 2。当我在其中输入逗号时,该值变为 NaN 所以我想得到我的号码而不是这个。
TS
@ViewChild('number') input;
limitNbOfDecimals() {
var regex =
this.form.number.search(/^(\d+(?:[\.\,]\d{0,2})?)$/) == 0
? true
: false;
if (regex == false) {
// Convert the value to a number
var nb: number = +this.input.nativeElement.value;
//set decimals at 2
this.input.nativeElement.value = nb.toFixed(2);
}
}
HTML
<input class="form-control" type="text" [(ngModel)]="form.number"
#number
name="number"
(input)="limitNbOfDecimals()"
/>
编辑
我设法在数字中添加一个逗号,但是如果我在删除逗号后的数字后尝试添加超过 2 个小数,例如 1,11 -> 1
解决方案
要添加超过 2 个十进制值,您需要告诉 .toFixed(4) 等。
推荐阅读
- java - 在Java spark数据框中将几列中的不同值连接到一列
- ios-charts - Swift - 格式化 ios 图表 PieEntry 标签以包含显示小时和分钟的自定义标签
- python - 使用 Python 转发包含标题的电子邮件
- python - 打破重复密钥异或,密码集 1,挑战 6
- twitter-bootstrap - 在模态中打开引导选择2
- typescript - 使用声明合并到 ES2015 模块语法重构 TypeScript 代码
- java - 定义有关类字段的元信息的最有效方法是什么
- python - 熊猫数据框总和
- javascript - JavaScript:然后从获取中中断
- python - 如何防止容器在错误期间关闭?