Asp.net core .netcore asp for decimal会丢失小数位

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属性使其符合

在视图中使用asp for tag helper时,我遇到了一个小数位丢失的问题。它似乎总是四舍五入到2位小数,而我希望它四舍五入到3位小数(在本例中)

我可以在我的调试器中看到,模型中的值有3个小数位e

但在我看来,它显示为
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" …/>