Вопрос формата строки - PullRequest
       6

Вопрос формата строки

0 голосов
/ 17 сентября 2010

Я использую инфракрасную сетку и настраиваю DisplayFormat каждого столбца. DisplayFormat - это тип строки, который использует ее значение для отображения значения cellValue.ToString (DisplayFormat) при отображении значений для пользователя в сетке (как сказано в документации)

В сетке у меня двойники, у которых много чисел после точки, и я не знаю, сколько. И мне нужно использовать тысячу сепараторов. Итак:

Если у меня есть:

<br/>
12345678.12345
<br/>
12345678.12
<br/>
, I want grid to show:
<br/>
1234,5678.12345
<br/>1234,5678.12

Если я установлю DisplayFormat на N5, я получу: 1234,5678.12000

Как я могу это сделать?

Ответы [ 3 ]

3 голосов
/ 17 сентября 2010

Мне не совсем понятно, чего вы хотите.

  1. Если вы хотите показать точно 2 десятичных знака, вы можете использовать N2.
  2. Если вы хотите отображать до 2 десятичных знаков (если они содержат значащие цифры), используйте #,0.##.
  3. Если вы хотите показать все значащие десятичные знаки, вы можете использовать что-то вроде #,0.########. (В идеале у вас должно быть около 340 # символов после десятичной точки для обработки всех возможных минимальных значений double. Вам решать, что именно вам нужно.)
0 голосов
/ 17 сентября 2010

попробуйте

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-us");
double x = 1234567.2342342d;
Console.WriteLine(string.Format("{0:0,0.00}", x));

выход:

1,234,567.23

0 голосов
/ 17 сентября 2010

Я предлагаю использовать N2.Число - это количество десятичных разрядов, которое вы хотите видеть, добавляя его нулями, если необходимо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...