[C#] Как отформатировать число с разделителями разрядов и сохранением десятичных знаков

  • Автор темы Автор темы Hannes
  • Дата начала Дата начала

Hannes

Client
Регистрация
03.02.2016
Сообщения
548
Реакции
280
Баллы
63
Здравствуйте!

Подскажите, пожалуйста, как отформатировать число с разделителями разрядов и сохранением десятичных знаков.

Кратко:
Как превратить число 3146574.02 в 3,146,574.02 используя С#?


В переменной есть 1 число из списка:
Форматирование (BB-код):
Развернуть Свернуть Копировать
145235.54
35366.87
46744
46574.02
3146574.02
и нужно сделать их такими:
Форматирование (BB-код):
Развернуть Свернуть Копировать
145,235.54
35,366.87
46,744
46,574.02
3,146,574.02

Пробовал ChatGPT, он предложил такой вариант (в зенке не сработал)
C#:
Развернуть Свернуть Копировать
class Program
{
    static void Main()
    {
        // Исходное число
        double number = project.Variables["peremen"].Value;

        // Форматирование числа с использованием стандартного числового формата
        // "N" для добавления запятых как разделителей разрядов
        string formatted = FormatNumberWithCommas(number);

        // Вывод отформатированного числа
        Console.WriteLine(formatted);
    }

    static string FormatNumberWithCommas(double number)
    {
        // Форматирование с использованием стандартного числового формата "N"
        return number.ToString("N");
    }
}

Подскажите, пожалуйста, как исправить код и выполнить задачу.
 
Последнее редактирование:
Исходное число нужно спарсить:
double number = double.Parse(project.Variables["peremen"].Value,System.Globalization.CultureInfo.InvariantCulture);
 
  • Спасибо
Реакции: Hannes
Спасибо за отклик! :dk:
Заменил, но не работает

C#:
Развернуть Свернуть Копировать
class Program
{
    static void Main()
    {
        // Исходное число
        double number = double.Parse(project.Variables["peremen"].Value,System.Globalization.CultureInfo.InvariantCulture);

        // Форматирование числа с использованием стандартного числового формата
        // "N" для добавления запятых как разделителей разрядов
        string formatted = FormatNumberWithCommas(number);

        // Вывод отформатированного числа
        Console.WriteLine(formatted);
    }

    static string FormatNumberWithCommas(double number)
    {
        // Форматирование с использованием стандартного числового формата "N"
        return number.ToString("N");
    }
}
121094
 
Просто создать c# код:

double number = double.Parse(project.Variables["peremen"].Value,System.Globalization.CultureInfo.InvariantCulture); return number.ToString("N");
 
  • Спасибо
Реакции: Hannes
проси ИИ создать код для кубика зеннопостера или как отдельную процедуру. сейчас он тебе накидал код для консольного приложения C#
 
  • Спасибо
Реакции: Hannes
Ваши ответы помогли чуть лучше разобраться и составить код под задачу. Спасибо! :bt:

C#:
Развернуть Свернуть Копировать
// Получаем значение переменной "peremen" как строку
string peremenValue = project.Variables["peremen"].Value;

// Парсим строку в число типа double, используя правильную культуру (InvariantCulture)
double number = double.Parse(peremenValue, System.Globalization.CultureInfo.InvariantCulture);

// Форматируем число в строку с нужным форматом "N2" для двух знаков после запятой и разделителем тысяч
string formattedNumber = number.ToString("N2", System.Globalization.CultureInfo.InvariantCulture);

// Возвращаем отформатированную строку
return formattedNumber;

Из числа 24435.5 делает 24,435.50.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)