如何将Input Number绑定的浮点数设置为保留两位小数?
解决Blazor InputNumber保留两位小数的问题
有两种常用方法可以实现InputNumber绑定浮点数时保留两位小数:
方法一:直接在InputNumber组件上指定格式
给InputNumber添加FormatString="N2"参数,就能强制显示和输入时保留两位小数:
<div class="col-md-3 form-group"> <Label For="() => Model.VFApprovedActual" /> <InputNumber class="form-control" @bind-Value="Model.VFApprovedActual" FormatString="N2" /> </div> <div class="col-md-3 form-group"> <Label For="() => Model.VFApprovedFinalEffort" /> <InputNumber class="form-control" @bind-Value="Model.VFApprovedFinalEffort" FormatString="N2" /> </div>
方法二:在模型属性上添加格式化特性
如果希望全局生效,在模型的对应属性上加上DisplayFormat特性,并设置ApplyFormatInEditMode = true(确保编辑模式也应用格式):
using System.ComponentModel.DataAnnotations; public class YourModel { [DisplayFormat(DataFormatString = "{0:N2}", ApplyFormatInEditMode = true)] public decimal VFApprovedActual { get; set; } // 推荐用decimal代替float,避免浮点数精度误差 [DisplayFormat(DataFormatString = "{0:N2}", ApplyFormatInEditMode = true)] public decimal VFApprovedFinalEffort { get; set; } }
添加特性后无需修改InputNumber组件,绑定后会自动按格式处理显示和输入。
内容的提问来源于stack exchange,提问作者maya
相关产品推荐
相关产品推荐

