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
不能将条件逻辑放入自定义数字格式字符串中。最好将该逻辑放在模型中,并将属性公开为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()
基于控制台的演示