asp.net mvc -在c#中,如果数字在逗号后包含一个数字,则只显示小数

本文关键字:数字 包含一 小数 显示 mvc net asp 如果 | 更新日期: 2023-09-27 18:02:04

我在我的MVC Razor网站上有一个视图,它显示了一个产品价格的部分视图。现在我的问题是我用这个局部视图显示价格:

@model decimal
<span>@GlobalModelExtensions.Currency.Symbol</span>
<span>@Model.ToString("N0")</span>

这显示了一个正确的价格,但现在我的客户希望,如果价格只包含一个数字,那么他需要显示两个小数点,如果价格超过一个数字,那么两个小数点将不显示。

实现这一目标的最佳方法是什么?

UPDATE:
This is an example of what i want:
If the price is 90.659 then it must be shown: 91
If the price is 5.659 then it must be shown: 5.66

asp.net mvc -在c#中,如果数字在逗号后包含一个数字,则只显示小数

不能将条件逻辑放入自定义数字格式字符串中。最好将该逻辑放在模型中,并将属性公开为string而不是浮点类型。

public class MyModel
{
    public decimal Price {get; set;}
    public string FormattedPrice 
    { get 
        {  return Price >= 10 
                ? Price.ToString("#,#")
                : Price.ToString("#,#.00");
        }
    }
}  

像这样?

@if(Model > 9){
   <text>@Model.ToString("N0")</text>
}
else
{
   <text>@Model.ToString("N2")</text>
}

@Model.ToString("#.##");

@Model.ToString("N2");

更新:这是我想要的一个例子:如果价格是90.659,那么它必须是:91如果价格是5.659,那么它必须是:5.66

if (@Model < 10) @Model.ToString("#.##") else Convert.ToInt32(@Model).ToString()

基于控制台的演示