【问题标题】:String formatting combine N2 and decimal字符串格式结合 N2 和小数
【发布时间】:2018-06-25 07:20:10
【问题描述】:

我有小数点值,并希望在小数点后显示它们没有值。例如

10.00 => 10.

我已经有 N2 格式。

myValue.ToString("N2"); 

有没有一种简单的方法可以结合这两者?

【问题讨论】:

  • 你需要ToString("N0")。请注意,它也会 ROUND 数字。
  • 我怀疑标签 N2 是否适合这个问题。查看它的描述。似乎您的问题与 CMS 无关。
  • 感谢 tchelidze,效果很好

标签: c# string formatting decimal


【解决方案1】:

您可以使用 0 占位符,后跟插入格式字符串的句点文字。要插入文字,请使用反斜杠对其进行转义。请注意,单个反斜杠已经是字符串文字的转义符,因此您实际上需要两个,或者您可以使用 verbatim string,如下例所示:

var d = 10.00M;
Console.WriteLine( d.ToString(@"0\.") );  //Outputs "10."

如果您担心国际化,请不要使用周期常数;使用小数分隔符from the current culture

string decimalSymbol = Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator;
Console.WriteLine( d.ToString(@"\" + decimalSymbol) );  //Outputs "10." or "10,"

【讨论】:

  • .... 的细节很好
  • 这在. 不是小数分隔符的国家/地区有效吗?
  • @UweKeim 无论语言环境如何,它都会输出.
猜你喜欢
  • 2020-03-08
  • 1970-01-01
  • 2023-03-16
  • 2013-07-26
  • 2012-08-20
  • 1970-01-01
  • 1970-01-01
  • 2013-09-16
相关资源
最近更新 更多