Как делают меня, формат a удваивается до строки и только показывает десятичные цифры когда необходимый?

У меня есть код как:

lblFranshizShowInvwNoskhehEdit.Text = string.Format("{0:n}",
    (double)(int.Parse(drDarman["FranshizDarsad"].ToString()) * 
        Convert.ToInt64(RadNumerictxtPayInvwNoskhehEdit.Text)) / 100);

Но {0:n0} формат строки вынуждает текст маркировки не иметь десятичные цифры и {0:n} формат строки вынуждает текст маркировки иметь 2 десятичных цифры (значение по умолчанию).

В моем сценарии я просто хочу десятичные цифры, когда необходимый / не округляя их / как я могу сделать это?

10
задан Kelsey 1 September 2011 в 17:48
поделиться

1 ответ

Вы можете просто сделать:

string.Format("{0}", yourDouble);

Он будет включать только цифры, когда это необходимо.

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

РЕДАКТИРОВАТЬ: На основании вашего комментария вам нужен разделитель , , чтобы вы могли:

string.Format("{0:0,0.########}", yourDouble);

Просто введите столько # для максимального количества десятичных знаков, которое вы хочу показать. Цифры будут отображаться только при необходимости, но до максимального количества цифр в зависимости от того, сколько # вы включили в формат. # означает показывать цифру только в случае необходимости, поэтому, если вы укажете такое число, как 123 без десятичной дроби, оно будет отображаться как 1,234 , но если вы укажете его 1234,456 , он будет отображаться как 1,234,456 . Если вы превысите указанное вами максимальное количество цифр, они будут округлены.

РЕДАКТИРОВАТЬ: Чтобы исправить ваш сценарий двойного нуля, просто измените его на:

string.Format("{0:#,0.########}", yourDouble);

Теперь это должно работать отлично :)

23
ответ дан 3 December 2019 в 17:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: