gpt4 book ai didi

c# - 如何格式化签名货币

转载 作者:太空宇宙 更新时间:2023-11-03 21:54:26 24 4
gpt4 key购买 nike

我有以下场景。小数值需要显示为货币,但包括适当的货币符号和符号,因此:

  1. -45.23 显示为 -£45.23
  2. 45.23 显示为 +£45.23

货币符号必须来自 System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol。我有这个,但我找不到交换符号和货币符号的方法:

string s1 = string.Format(@"{1}{0:+#,##0.00;-#,##0.00}", 45.09M, 
System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol);
Console.WriteLine(s2);
string s2 = string.Format(@"{1}{0:+#,##0.00;-#,##0.00}", -45.09M,
System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol);
Console.WriteLine(s2);

输出:

£+45.09
£-45.09

我要:

+£45.09
-£45.09

更新

有人发布了关于 NumberFormatInfo.CurrencyPositivePattern 的另一个答案属性(property),这看起来很有希望,尤其是因为微软似乎忽略了 NumberFormatInfo.CurrencyNegativePattern 的可能性。属性包含用于表示负号的各种选项。但是,NumberFormatInfo.CurrencyPositivePattern 不包含包含正号的选项!该死。感谢提到它的人,但删除了他们的评论。尽管如此,我还是学到了一个人。

最佳答案

当我发布这篇文章时,我意识到答案是分三步而不是两步来完成:

string s1 = string.Format(@"{0:+;-}{1}{0:#,##0.00;#,##0.00}", 45.09M, System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol);
Console.WriteLine(s1);

string s2 = string.Format(@"{0:+;-}{1}{0:#,##0.00;#,##0.00}", -45.09M, System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol);
Console.WriteLine(s2);

输出:

+£45.09
-£45.09

关于c# - 如何格式化签名货币,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12916455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com