You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blazor中能否将decimal绑定到文本框并自动移除尾部零?

实现方案

无需自定义InputNumber控件即可实现自动移除尾部零的格式化效果,两种原生支持的方案如下:

方案1:直接使用InputNumber原生Format属性(.NET 5+适用)

.NET 5 及以上版本的Blazor原生InputNumber组件已内置格式化参数,直接指定格式化字符串即可:

<InputNumber @bind-Value="你的Decimal字段" Format="0.####" />
  • 0.#### 格式规则:最多保留4位小数,自动删除末尾无意义的零,整数场景直接展示整数、1位小数场景仅展示1位,完全匹配你的精度配置需求。
  • 如果需要更通用的紧凑输出,也可以使用Format="G29",会自动选择最短的表示形式,不会出现多余的尾部零。

方案2:通过数据注解配置格式化(全版本适用)

如果是.NET 5以下版本,直接给绑定的decimal属性加DisplayFormat注解即可:

using System.ComponentModel.DataAnnotations;

[DisplayFormat(DataFormatString = "{0:0.####}", ApplyFormatInEditMode = true)]
public decimal TargetDecimalValue { get; set; }

绑定的时候直接用原生InputNumber组件即可,框架会自动应用配置的格式化规则:

<InputNumber @bind-Value="TargetDecimalValue" />

内容的提问来源于stack exchange,提问作者Chris Searles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 22:39:03