Ответ 1
String.Format("{0:0%}", 0.10)
Используя выражение
String.Format("{0:p0}",0.10) gives 10 %
Как мне вернуть это значение 10%
(без пробела между 10 и%)?
Культура: en-GB
String.Format("{0:0%}", 0.10)
Используйте свойство NumberFormatInfo.PercentPositivePattern:
NumberFormatInfo numberInfo = new NumberFormatInfo();
numberInfo.PercentPositivePattern = 1;
Console.WriteLine(String.Format("{0}", 0.10.ToString("P0",numberInfo)));
Если вы в порядке, не используя Format()
, вы можете сделать 0.10F.ToString("0%");
.
Только усиление ответа @Jay Riggs, и потому, что у меня нет достаточной репутации, чтобы просто комментировать, я бы пошел с:
String.Format(numberInfo, "{0:p0}", 0.10);
Я так думаю, вы освещаете ситуации, когда вам нужно форматировать более одного значения:
String.Format(numberInfo, "{0:p0} {1:p0}", 0.10, 0.20);
String.Format("{0:p0}",0.10).Replace(" ","");
Чтобы добавить к другим ответам, вот соответствующая документация:
Попробуйте это вместо:
0.1.ToString( "0%" )
Измените информацию о культуре.
Для некоторых культур он отображает% 10,% 10, 10%, 10%,.1,.10, 0.1, 0.10...
Я проверю, какая CultureInfo дает вам "10%"