Преобразование десятичной дроби в проценты или смещение десятичных знаковКак - PullRequest
10 голосов
/ 09 июня 2010

У меня есть a, сгенерированное из разности 2 чисел, но оно возвращает, например, 0,07 для 7% и 0,5 для 50%, я просто хочу исправить это, чтобы достичь этого, как 15,2% 13 % и так далее. Как я могу это сделать? у c # есть что-то встроенное в CLR для этого?

Ответы [ 2 ]

19 голосов
/ 09 июня 2010

Вы можете использовать Процент Пользовательский Числовой формат String .Это будет сделано без умножения самого себя.

Например, вы можете сделать:

double value = 0.152;
string result = value.ToString("#0.##%");

Если ваша локаль установлена ​​на европейский (мое предположение основано на формате, который вы написали)вы получите строку со значением «15,2%».

Вы также можете просто использовать стандартный процент («P») Формат строки , если выдоволен форматированием по умолчанию.

2 голосов
/ 09 июня 2010

Взгляните туда: Пользовательские строки числового формата

 double number = .2468013;
Console.WriteLine(number.ToString("P", CultureInfo.InvariantCulture));
// Displays 24.68 %
Console.WriteLine(number.ToString("P", 
                  CultureInfo.CreateSpecificCulture("hr-HR")));
// Displays 24,68%     
Console.WriteLine(number.ToString("P1", CultureInfo.InvariantCulture));
// Displays 24.7 %
...