различные выходы из простого вызова формата строки - PullRequest
2 голосов
/ 13 марта 2020

На моем windows компьютере под управлением Visual Studio 2019 при преобразовании десятичной дроби в строку:

decimal n = 200;
var s = n.ToString("P0");

... Я получаю: 200%. (без пробела)

Однако, когда я делаю это на своем Ma c в VsCode, я получаю 200 % (с пробелом).

Это приводит к сбою некоторых модульных тестов. Каков наилучший способ получить согласованное поведение при форматировании?

1 Ответ

1 голос
/ 14 марта 2020

Когда число преобразуется в строку, платформа в вашем случае учитывает текущую системную культуру. Для согласованности вы можете использовать CultureInfo.InvariantCulture

decimal number = 2;
var result = number.ToString("P0", CultureInfo.InvariantCulture);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...