【问题标题】:Combining C# String.Format format options结合 C# String.Format 格式选项
【发布时间】:2017-05-17 13:36:09
【问题描述】:

我想将我的数字格式化为带有始终可见符号的百分比值。

要将其格式化为百分比值,我可以这样做:

string.Format("{0:P2}", 1.45);

对于明显的迹象,我会做:

string.Format("{0:+#.##;-#.##;0}", 1.45);

有什么方法可以将两者结合起来?

【问题讨论】:

  • 相比string.Format,请更喜欢字符串插值。可读性的改进是巨大的。
  • @AluanHaddad 如果我在更新的 .NET 中工作,我会这样做。
  • 嗯,升级!除此之外,您还可以将许多语言功能降级到较旧的运行时。以下是有关格式说明符的有用参考:msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx P.S:Google 是我的朋友,也是你的朋友 :)
  • 我认为最简单的选择是这样的 (1.45 < 0 ? "-" : "+") + String.Format("{0:P2}", 1.45);,前提是您的 .NET 版本困境
  • 如果可以的话,我会升级 :))) 如果您没有帮助解决原始问题,您能否避免发帖?

标签: c# string formatting format string-formatting


【解决方案1】:

您可能只想将% 添加到custom format

string.Format("{0:+#.##%;-#.##%;0}", 1.45); // output +145%

【讨论】:

  • . 之后无需重复 # 两次。为什么你不只是这样使用它string.Format("{0:+#.#%;-#.#%;0}", 1.45);
  • @HosseinNarimaniRad,我只是复制粘贴 OP 输入。但是你建议的不一样#.##.##结果不一样,自己试试1.45678
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-22
相关资源
最近更新 更多