Asp.net core .netcore asp for decimal会丢失小数位
在视图中使用asp for tag helper时,我遇到了一个小数位丢失的问题。它似乎总是四舍五入到2位小数,而我希望它四舍五入到3位小数(在本例中) 我可以在我的调试器中看到,模型中的值有3个小数位e 但在我看来,它显示为Asp.net core .netcore asp for decimal会丢失小数位,asp.net-core,asp.net-core-tag-helpers,Asp.net Core,Asp.net Core Tag Helpers,在视图中使用asp for tag helper时,我遇到了一个小数位丢失的问题。它似乎总是四舍五入到2位小数,而我希望它四舍五入到3位小数(在本例中) 我可以在我的调试器中看到,模型中的值有3个小数位e 但在我看来,它显示为1.28,而不是1.275: 这是我的表单视图,正如您所看到的,实际上没有什么特别的事情发生(asp的has errortag helper是此项目的自定义标记帮助器): 你知道如何在这里显示3位小数吗?这只是默认设置。您可以使用DisplayFormat属性使其符合
1.28
,而不是1.275
:
这是我的表单视图,正如您所看到的,实际上没有什么特别的事情发生(asp的has error
tag helper是此项目的自定义标记帮助器):
你知道如何在这里显示3位小数吗?这只是默认设置。您可以使用
DisplayFormat
属性使其符合您的要求:
[DisplayFormat(DataFormatString = "{0:[format]}", ApplyFormatInEditMode = true)]
public decimal RatePercentage { get; set; }
其中
[format]
是所需的格式字符串。请参见和。阻止标记帮助程序应用此默认格式的另一种方法是显式指定输入
元素的类型
属性,并将其指定为文本
,如下所示:
<input type="text" asp-for="RatePercentage" …/>
然后您在输入控件中获得“原始”十进制值,您可以使用编辑掩码或以其他方式自行设置格式,而不会自动丢失否则会发生的值的精度。您在
rate percentage
model属性中是否有任何属性?无属性否。
<input type="text" asp-for="RatePercentage" …/>