using System;
using System.Collections;
using System.Globalization;
public class Sample
{
public static void Main()
{
string dv = "2.452311234";
Console.WriteLine(string.Format( CultureInfo.InvariantCulture, "{0:P}",dv));
}
}
Почему я не получаю 2.452311234% на выходе? И как сделать чтобы получалось?
Здравствуйте, senglory, Вы писали:
S>Почему я не получаю 2.452311234% на выходе? И как сделать чтобы получалось?
модификатор "P" для форматной строки работает только для numeric types (int, double, float и т.п).
Чтобы получалось надо делать так:
double dv = 0.02452311234;
Console.WriteLine(string.Format( CultureInfo.InvariantCulture, "{0:P9}", dv));
С Уважением, Andir!
using( RSDN@Home 1.2.0 alpha 4 rev. 1233 ) { /* Работаем */ }
Если не нравится вариант выше — индусопаттерн:
//...
string dv = "2.452311234";
Console.WriteLine(string.Format( CultureInfo.InvariantCulture, "{0}%",dv));
//...
S>
Здравствуйте, Sinix, Вы писали:
Ты чему людей учишь?
Здравствуйте, Sinix, Вы писали:
S>Если не нравится вариант выше — индусопаттерн:
S>S>//...
S> string dv = "2.452311234";
S> Console.WriteLine(string.Format( CultureInfo.InvariantCulture, "{0}%",dv));
S>//...
S>>
Слабовато
string dv = "0.02452311234";
Console.WriteLine(string.Format( CultureInfo.InvariantCulture, "{0}{1}.{2}%",
dv.Substring(2, 1) == "0" ? String.Empty : dv.Substring(2, 1),
dv.Substring(3, 1),
dv.Substring(4)));
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Здравствуйте, Ziaw, Вы писали:
Z>Слабовато
Z>Z> string dv = "0.02452311234";
Z> Console.WriteLine(string.Format( CultureInfo.InvariantCulture, "{0}{1}.{2}%",
Z> dv.Substring(2, 1) == "0" ? String.Empty : dv.Substring(2, 1),
Z> dv.Substring(3, 1),
Z> dv.Substring(4)));
Z>
Да, любой более аккуратный индус конечно найдет ошибки в этом коде и исправит:
string dv = "0.02452311234";
Console.WriteLine(string.Format( CultureInfo.InvariantCulture, "{0}{1}{2}{3}{4}",
dv.Substring(2, 1) == "0" ? String.Empty : dv.Substring(2, 1),
dv.Substring(3, 1),
CultureInfo.InvariantCulture.PercentDecimalSeparator,
dv.Substring(4, CultureInfo.InvariantCulture.PercentDecimalDigits),
CultureInfo.InvariantCulture.PercentSymbol));
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>