首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用管道输入数字11十进制数不允许数字大于999

使用管道输入数字11十进制数不允许数字大于999
EN

Stack Overflow用户
提问于 2019-03-24 00:37:37
回答 1查看 87关注 0票数 0

999.12345678901可以工作,但>= 1000的值为NaN (控制台中的警告),并将输入设置为0。我在input的onBlur中使用了这个管道。

代码语言:javascript
复制
   @Pipe({
      name: 'rExact'
   })
   export class rExactPipe extends DecimalPipe {
        transform(value: number): any {
           if(isNaN(value))
               return null;

           return super.transform(value, "1.2-11");  
        }
  }

这是onblur事件:

代码语言:javascript
复制
this.selected.UnitPrice = +new rExactPipe(this.numberLocale).transform(this.selected.UnitPrice);

输入数字字段的绑定方式如下:(ngModel)="selected.UnitPrice“

因为js是64位的,所以所有的数字都应该工作到15位浮点数。我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2019-03-24 01:43:12

问题是DecimalPipe在几千个数字之后添加了数字符号,像这里的1,000,在你的代码中,这个小的加号+new将结果转换回数字。这个逗号使其无法解析,因此得到的结果是NaN。要修复视图的问题,只需删除加号,如果需要值,可以不使用竖线

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55315977

复制
相关文章

相似问题

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