字符串格式结合N2和十进制

时间:2018-06-25 07:20:11

标签: c# string formatting decimal

我有小数点后的值,并希望不显示小数点后的值。例如

  

10.00 => 10.

我已经具有 N2 格式。

myValue.ToString("N2"); 

是否有一种简单的方法来组合这两个?

1 个答案:

答案 0 :(得分:3)

您可以使用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,"