如何格式化以逗号分隔的带有正号(+)和美元(sign)的数字?

时间:2019-04-05 01:45:40

标签: c#

我正在创建一个辅助程序,以数字格式设置一个数字,并用逗号分隔,并用正号(+)和美元($)分隔。但是,我已经创建了返回负号(-)的对象。我想要获得的结果是一个正号(+)。

-$ 100-我已经有了。

+ $ 100-这是我想要达到的目标。

示例代码:

pricing.Price = 600;
RoomTypeDefaultPrice = 500;

var negative = string.Format(culture, "{0:C0}", pricing.Price - RoomTypeDefaultPrice);

结果:-$ 100

1 个答案:

答案 0 :(得分:1)

您已经接近,只需要使用conditional format

  

分号(;)是一种条件格式说明符,根据其值是正,负还是零,将不同的格式应用于数字。若要产生此行为,自定义格式字符串最多可以包含三个由分号分隔的部分。下表描述了这些部分。

pricing.Price = 600;
RoomTypeDefaultPrice = 500;

var negative = string.Format(culture, "{0:+$#,##;-$#,##;$0}", pricing.Price - RoomTypeDefaultPrice);

本质上是POSITIVE_FORMAT; NEGATIVE_FORMAT; ZERO_FORMAT

Try it online