C # Числовой вопрос форматирования - PullRequest
0 голосов
/ 11 ноября 2009

У меня есть эти цифры:

5.25
10251.35
5

и я хочу, чтобы они форматировались группами и всегда с двумя десятичными знаками, XX

это то, что .ToString("N2") делает:

5,25
10.251,35
5

Как мне сделать так, чтобы '5' тоже выглядел 5,00 ? И для нескольких культур, конечно (en: 5.0, de: 5,0 ...)

На самом деле этот вопрос не имеет смысла, N2 должен сделать это любой ценой. Проблема была в моем WebServer.

Ответы [ 4 ]

2 голосов
/ 11 ноября 2009

.ToString ( "{0: #, 0,00}")

Примечание. Несмотря на то, что при этом используются группировка и десятичные символы в США, в результате будет учитываться языковой стандарт, при условии, что либо текущий пользовательский языковой стандарт установлен правильно, либо вы передаете языковой стандарт в ToString ().

2 голосов
/ 11 ноября 2009

Разве это не работает для вас:

decimal d = 5m;
string formatted = d.ToString("N2");

Это будет использовать текущую культуру, но вы можете указать один:

string formatted = d.ToString("N2", new CultureInfo("fr-FR"));
0 голосов
/ 11 ноября 2009

С форматом, который у вас есть (с фиксированной точкой), вы должны использовать:

.ToString("F2");

У вас есть все форматы здесь: MSDN

0 голосов
/ 11 ноября 2009

IIRC:

toString("0:0.00");

MSDN

...