十进制一位输入类型仅数字 Ionic 3 最新版本 (3.9.2) 我正在使用

Posted

技术标签:

【中文标题】十进制一位输入类型仅数字 Ionic 3 最新版本 (3.9.2) 我正在使用【英文标题】:Decimal one place input type only number Ionic 3 latest version (3.9.2) I'm using 【发布时间】:2018-01-28 04:41:20 【问题描述】:

我正在使用 ionic 最新版本 3.9.2。我面临一个问题。我有一个输入框。输入类型数字,当用户在文本框中输入时,它们只允许小数点后一位。并且在输入框中最多只有一位小数,不允许超过一位。

Examples: 
1) 1407.1
2) 6449496.8
3) 1.1

这样只有用户可以输入小数点后一位

我的 html 代码

 <ion-item>
    <ion-label fixed>TECHLOG:</ion-label>
    <ion-input type="number" [ngModel]="mymodel" (ngModelChange)="onChangeTech($event)"></ion-input>
 </ion-item>

我的ts文件代码

  onChangeTech(event) 
    alert(event)
  

在警报中,我得到了我输入的数字,但不知道如何在我的输入框中强制停止小数点后一位。

【问题讨论】:

你能显示code吗? 请检查我的代码,我们只能在 HTML 端解决这个问题吗?谢谢 您能否也显示mymodel 的详细信息? code.ts 文件上? 如果没有 [ngModel]="mymodel",我没有在我的 .ts 中的任何地方使用 mymodel 我的更改函数没有被调用,这就是我放那个的原因。我是 ionic 新手。 您是否需要限制用户在文本输入中输入only 1 小数位?例如10.2? 【参考方案1】:

您可以使用text-mask 模块。请尝试并告诉我。

Demo Page from the Doc

npm i angular2-text-mask --save

然后,将其导入您的@NgModule:

import  NgModule  from '@angular/core';
import  FormsModule  from '@angular/forms';
import  TextMaskModule  from 'angular2-text-mask';

@NgModule(
  imports: [
    FormsModule,
    TextMaskModule
  ],
  declarations: []
)
export class MyModule 

【讨论】:

好的,我现在就试试这个,我会告诉你的。 我无法理解您的示例:我们必须将这一行放入模板中:` ` 只需将input 替换为ion-input 你有任何其他简单的例子,当我当时使用输入时,我的应用程序会抛出错误。 好的,我会创建一个示例并通知您。【参考方案2】:

这种方式不是 100% 正确的。它将舍入用户输入(例如 1.57 --> 1.6)。它不能处理错误的输入(例如 1.2.3454)。但是,这是一种快速而简单的方法。

let input = document.getElementById('numberInput');
input.addEventListener('keyup', (event) => 
  let value = parseFloat(input.value);
  if (value) 
    input.value = parseFloat(value.toFixed(1));
  
)
&lt;input type="number" id="numberInput" step="0.1" /&gt;

【讨论】:

它正在使用 ionic 3?并感谢您与我分享您的示例,我会让您知道它是否有效。 这只是javascript。 Ionic 是一个 javascript 框架。 嗨,Duannx,我已经尝试过了,但这个逻辑并没有强制阻止我十进制一位输入类型。当用户输入一位小数时,用户无法输入一位小数后的数字。 哦。我以为这就是你想要的。用户只能输入一个只有一位小数的数字。

以上是关于十进制一位输入类型仅数字 Ionic 3 最新版本 (3.9.2) 我正在使用的主要内容,如果未能解决你的问题,请参考以下文章

数字仅输入数字[重复]

新网站在数字类型输入中将十进制逗号转换为 ~ 点,反之亦然。该浏览器功能的 Javascript 名称?

在本机浏览器上输入类型=数字的十进制

如何验证输入文本是不是允许第一位和第二位数字仅为字母

工具相关ionic-通过nmp安装最新版本的 cordova 和 ionic

使用 jquery 验证器插件仅为 2 个十进制数字 + 点 + 逗号设置正则表达式