IFormatProvider
IFormatProvider реализует
CultureInfo.
Метод GetFormat для
NumberFormatInfo
возвращает правила чисел культуры.
Передают в
ToString
и перегрузки Parse.
Синтаксис
IFormatProvider provider = CultureInfo.InvariantCulture;
object rules = provider.GetFormat(typeof(NumberFormatInfo));
Пример
Давайте получить NumberFormatInfo
у Invariant:
using System;
using System.Globalization;
class Program
{
static void Main()
{
IFormatProvider provider = CultureInfo.InvariantCulture;
NumberFormatInfo rules = (NumberFormatInfo)provider
.GetFormat(typeof(NumberFormatInfo));
string res = rules.NumberDecimalSeparator;
Console.WriteLine(res);
}
}
Результат выполнения кода:
"."
Пример
Давайте проверить тип через GetFormat:
using System;
using System.Globalization;
class Program
{
static void Main()
{
IFormatProvider provider = CultureInfo.InvariantCulture;
object rules = provider.GetFormat(typeof(NumberFormatInfo));
bool res = rules is NumberFormatInfo;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте отформатировать число через провайдер:
using System;
using System.Globalization;
class Program
{
static void Main()
{
IFormatProvider provider = CultureInfo.InvariantCulture;
string res = 1.5.ToString(provider);
Console.WriteLine(res);
}
}
Результат выполнения кода:
"1.5"
Смотрите также
-
CultureInfo,
реализация интерфейса -
NumberFormatInfo,
объект изGetFormat -
DateTimeFormatInfo,
правила дат -
ToString,
формат с провайдером