Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在值以1或更大开始的角度反应式窗体控件中添加小数点_Javascript_Html_Angular_Typescript_Angular Reactive Forms - Fatal编程技术网

Javascript 如何在值以1或更大开始的角度反应式窗体控件中添加小数点

Javascript 如何在值以1或更大开始的角度反应式窗体控件中添加小数点,javascript,html,angular,typescript,angular-reactive-forms,Javascript,Html,Angular,Typescript,Angular Reactive Forms,我想加一个小数,然后在1后面加0,就像1.0一样 <input type="number" formControlName="global_velocity_weight" /> this.form = this.fb.group({ global_velocity_weight: new FormControl(1.0, { validators: [Validators.required] }) }) this.form=thi

我想加一个小数,然后在1后面加0,就像1.0一样

<input type="number" formControlName="global_velocity_weight" />

this.form = this.fb.group({
   global_velocity_weight: new FormControl(1.0, { validators: [Validators.required] })
})

this.form=this.fb.group({
全局速度权重:新FormControl(1.0,{validators:[validators.required]})
})

但它不起作用,在输入中,只显示1。

我认为最好的办法是在输入字段上应用掩码。我知道有一个库()允许您这样做,我相信它从Angular 5开始就得到了支持


掩码是输入内容的规范,如日期输入中经常出现的
yyyy/mm/dd
。您还可以使用它来指定数字输入字段的外观,并指示小数的外观。

我认为您最好在输入字段上应用掩码。我知道有一个库()允许您这样做,我相信它从Angular 5开始就得到了支持


掩码是输入内容的规范,如日期输入中经常出现的
yyyy/mm/dd
。您还可以使用它来指定数字输入字段的外观,并指示小数的外观。

您可以使用表单模板中的角度
小数管道来实现这一点

<form [formGroup]="myForm">
    <input 
        [value]="myForm.get('global_velocity_weight').value | number" // here you pipe the value
        formControlName="global_velocity_weight" 
    
        ...
    >
</form>

您可以在表单模板中使用angular
DecimalPipe
实现这一点

<form [formGroup]="myForm">
    <input 
        [value]="myForm.get('global_velocity_weight').value | number" // here you pipe the value
        formControlName="global_velocity_weight" 
    
        ...
    >
</form>

您应该创建一些正则表达式来接受数值:

 <input type="number" formControlName="global_velocity_weight" />
    
    this.form = this.fb.group({
       global_velocity_weight: new FormControl(1.0, { validators: 
    [Validators.required,Validators.pattern('^[0-9]+(.[0-9]{0,1})?$')] })
    })

this.form=this.fb.group({
全局速度权重:新FormControl(1.0,{验证器:
[Validators.required,Validators.pattern('^[0-9]+([0-9]{0,1})]$'))
})

您应该创建一些正则表达式来接受数值:

 <input type="number" formControlName="global_velocity_weight" />
    
    this.form = this.fb.group({
       global_velocity_weight: new FormControl(1.0, { validators: 
    [Validators.required,Validators.pattern('^[0-9]+(.[0-9]{0,1})?$')] })
    })

this.form=this.fb.group({
全局速度权重:新FormControl(1.0,{验证器:
[Validators.required,Validators.pattern('^[0-9]+([0-9]{0,1})]$'))
})