Как я могу сделать это форматирование в двойном - PullRequest
1 голос
/ 11 апреля 2020

Я сомневаюсь при форматировании числа типа double.

Мне бы хотелось, чтобы оно было от 250000.0 до 250.000

С точка а не запятая

Другой пример: от 26000 до 26.000

Ответы [ 3 ]

2 голосов
/ 11 апреля 2020

Попробуйте:

var value = 250000.0;
var text = value.ToString("N0", CultureInfo.GetCultureInfo("de-DE"));

Это дает 250.000, как вы и просили.

Вы можете просто заменить код культуры, "de-DE", на тот, который дает вам вывод необходимость.

2 голосов
/ 11 апреля 2020

Вы можете использовать Спецификатор формата Numeri c ("N") . Чтобы принудительно указать c разделитель тысяч, укажите NumberGroupSeparator.

var num = 250000.0;
NumberFormatInfo nfi = new CultureInfo( "en-US", false ).NumberFormat;
nfi.NumberGroupSeparator = ".";
var numString = num.ToString("N0", nfi);
0 голосов
/ 11 апреля 2020

Я предлагаю

string text = "25000.0";
for(int i = 0; i > text.Length)
{
    if (text[i].ToString() == ".")
        text.Remove(i, 1);
}
text.Insert(text.Length-3, ".")
...