Форматирование строки объединяет N2 и десятичное - PullRequest
0 голосов
/ 25 июня 2018

У меня есть десятичные значения, и я хочу показать их без значений после десятичной точки.Например,

10.00 => 10.

У меня уже есть форматирование N2 .

myValue.ToString("N2"); 

Есть ли простой способ объединить этих двух?

1 Ответ

0 голосов
/ 25 июня 2018

Вы можете использовать заполнитель 0 с последующим литералом точки, вставленным в строку формата.Чтобы вставить литерал, экранируйте его обратной косой чертой.Обратите внимание, что одиночная обратная косая черта уже является экранированием для строковых литералов, поэтому вам действительно нужно два, или вы можете использовать дословную строку , как в этом примере:

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

Если выбеспокоятся об интернационализации, не используйте константу периода;используйте десятичный разделитель из текущей культуры .

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