999.12345678901 работает, но все >= 1000 оценивается как NaN (предупреждение в консоли) и устанавливает ввод в 0. Я использую этот канал в onBlur ввода.
@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:
this.selected.UnitPrice = +new rExactPipe(this.numberLocale).transform(this.selected.UnitPrice);
поле ввода номера привязано следующим образом: [(ngModel)]="selected.UnitPrice"
все числа должны работать до 15 цифр с плавающей запятой, потому что js 64-битный. Что я делаю не так?