C#MVC.Net格式货币,不带小数

前端之家收集整理的这篇文章主要介绍了C#MVC.Net格式货币,不带小数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一个将浮动显示为货币的DataFormatString.但如果它们不相关(0),则省略小数值.

目前我正在使用:

[DisplayFormat(DataFormatString = "{0:C}")]

在我的模特.这正确显示为货币.我无法找到任何可以详细说明我需要做出哪些更改来省略小数位的地方?

解决方法

[DisplayFormat(DataFormatString = "{0:C0}")]

这应该给你0小数.但是自动轮!所以,如果你有,56它会圆到1

20000,00 => 20000€

20000,56 => 20001€

20000,49 => 20000€

/编辑:我从这里借了一个想法:c# Decimal to string for currency

如果您可以将浮点值转换为十进制,则可以使用此Extensionmethod省略0.它会截断小数,如果此截断值等于原始值,则会截断零.如果不是,则显示2位数字.
我知道这不是Dataformat字符串,但我不确定,它可以像注释一样简单地完成.

public static string ToCurrencyString(this decimal d)
{
    return d.Equals(Decimal.Truncate(d)) ? d.ToString("0 €") : d.ToString("0.00 €");
}

猜你在找的C&C++相关文章