Вызываете Number.ToString () и всегда используете стандартную десятичную точку в любой региональной конфигурации?

1

Предположим это в С#.

  double d = 5.555455;
  string s = d.ToString();
  Console.WriteLine(s);

Выход

5.555455

В моем случае моя региональная конфигурация предназначена для "." как десятичный разделитель. Проблема в том, что региональная конфигурация компьютера иногда является ",", которая делает вывод следующим:

5,555455

Мне нужно убедиться, что число будет ВСЕГДА быть преобразовано в строку, используя ".". как десятичный, а не "," как тысячный разделитель.

Как я могу это достичь?

Теги:

1 ответ

5
Лучший ответ

Вы должны использовать инвариантную культуру:

double d = 5.555455;
string s = d.ToString(CultureInfo.InvariantCulture);
Console.WriteLine(s);

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

  • 0
    Большое спасибо. Номер добавляется в JSON как номер. Не удалось разобрать при поступлении запроса от определенных машин.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню