.netcore asp-for 十进制丢失小数位

nbo*_*ans 3 asp.net-core asp.net-core-tag-helpers

我遇到了在我看来使用 asp-for 标签助手时丢失小数位的问题。它似乎总是四舍五入到 2 位小数,而我想让它四舍五入到 3 位小数(在这种情况下)。

我可以在调试器中看到模型中的值有 3 个小数位作为 e在此处输入图片说明

但是在我看来,它显示为1.28而不是1.275在此处输入图片说明

这是我的表单视图,你可以看到没有什么特别的事情发生(asp-has-error标签助手是这个项目的自定义标签助手):

<div class="form-group row">
        <label asp-for="RatePercentage" class="col-lg-4 col-form-label"></label>
        <div class="col-lg-8">
                <input asp-for="RatePercentage" asp-has-error="@Html.HasErrorFor(m => m.RatePercentage)" class="form-control"/>
        </div>
</div>
Run Code Online (Sandbox Code Playgroud)

有什么想法可以让我在这里显示 3 个小数位吗?

Chr*_*att 5

这只是默认值。您可以使用该DisplayFormat属性使其随心所欲:

[DisplayFormat(DataFormatString = "{0:[format]}", ApplyFormatInEditMode = true)]
public decimal RatePercentage { get; set; }
Run Code Online (Sandbox Code Playgroud)

[format]你想要的格式字符串在哪里。请参阅标准数字格式字符串自定义数字格式字符串