javascript - Angular - 避免在 [(ngModel)] 数字输入字段中使用科学记数法

标签 javascript angular input number-formatting

在应用程序中,我使用编辑字段来显示和修改聪(示例:0.00000004)。

此字段通过 [(ngModel)] 链接到数据模型。 。 数据类型是数字。

Angular(或者更确切地说 javascript 或 html)在加载时系统地将其翻译为科学记数法:(例如: 4e-8 )

使用“text”或“number”的字段类型会产生相同的效果。

是否有一种奇特的方法可以强制使用不科学的表示法将字段绑定(bind)到数据模型并且不更改数据模型

问题的简单 javascript 示例:

const elText = document.getElementById("satoshiText");
const elNumber = document.getElementById("satoshiNumber");
elText.value =0.00000001;
elNumber.value =0.00000001;
<input id="satoshiText" type="text" /><br /><br />
<input id="satoshiNumber" type="number" />

最佳答案

如果单独指定值和事件绑定(bind)而不是使用双向绑定(bind),则可以添加管道来格式化数字:

<input [ngModel]="value | number:'1.8-8'" (ngModelChange)="value = $event">

如果您经常需要这样做,您还可以编写一个自定义表单组件,将其 ControlValueAccessor 转换为所需的格式。

关于javascript - Angular - 避免在 [(ngModel)] 数字输入字段中使用科学记数法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65552888/

相关文章:

javascript - 获取 iframe url 并更新输入文本

javascript - 子div溢出时强制父div放大

javascript - 为什么 javascript 回调是异步的?

Javascript if 语句只返回 true

angular - 如何在 ionic-Angular 中将数据传递到另一个页面

Angular 2- 错误 : Type 'AbstractControl' is not assignable to type 'AbstractControl'

javascript - Dust.js 外部模板

angular - 在多个 boostrapped 组件之间共享服务

关于输入和复选框的 PHP 问题

javascript - 多维名称选择器