float f = 0.479f;
Console.WriteLine(f.ToString("p1"));
Вывод: 47,9%
Что должно я передавать ToString () для удаления процента, расписываются за вывод как это:
47.9
Править. Я должен был упомянуть, что передаю маску стороннему компоненту, который делает это - вещь с ним. Я не могу выполнить акробатику с числами, к сожалению. Это должна быть маска, которая добивается цели.
Я должен был упомянуть, что я передавая маску на третью вечеринку компонент, который делает это с Это. Я не могу выполнять никаких акробатиков с числами к сожалению. Она имеет быть маской, которая делает трюк.
Итак, я предполагаю, что вы застряли с помощью float.tostring (String)
, и что вы не можете редактировать только P1
в F.Tostring («P1»)
. Теперь это сложный. Если вы не боитесь взлома что-либо, связанные с подразумеваемыми изменениями, вы можете сделать следующее:
Числовый формат «p», как документальный на MSDN , использует numericformathatinfo.percentsymbol
Для того, чтобы написать знак «%». NumericFormatinfo
является членом вашего текущего CultureInfo
. То, что вы могли бы сделать, является клоном вашего enturnuceCulture
, и изменить перцентюнтность в «
Как и следующее:
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
float f = 0.479f;
Console.WriteLine(f.ToString("p1")); //will write 47.9%
CultureInfo ci = CultureInfo.CurrentCulture.Clone() as CultureInfo;
ci.NumberFormat.PercentSymbol = "";
System.Threading.Thread.CurrentThread.CurrentCulture = ci;
Console.WriteLine(f.ToString("p1")); //will write 47.9
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
Это будет способ пойти, если вы не хотите Измените ToString Call.
Как насчет следующего?
Console.WriteLine((f * 100).ToString("F1"));
E.G. f = 0,4792 -> "47.9"
Доступны список и описания стандартного числового формата здесь на MSDN , если он поможет.
Может ли попробовать
Console.WriteLine(f.ToString("p1").Replace('%',' '));
или, если вы хотите, не хотите, чтобы пространство, используйте Заменить («%», «\ 0»)
Редактировать: Если вы можете использовать только TOSTRING ()
Метод, вы можете создать объект NUMBERFORMATINFO
объекта, установите значение процентного символа, чтобы быть пустым и передавать его в метод.
( NumberFormatinfo
находится в System.Globalization
пространство имен)
например
NumberFormatInfo myNewFormat = new NumberFormatInfo();
myNewFormat.PercentSymbol = "";
float f = 0.479f;
Console.WriteLine(f.ToString("p1",myNewFormat));