(https://msdn.microsoft.com/ru-ru/library/system.globalization.numberformatinfo(v=vs.110).aspx)
(https://technet.microsoft.com/ru-ru/subscriptions/index/system.globalization.numberformatinfo.aspx)
Таблица.4.15. Основные члены класса System::Globalization::NumberFormatInfo
Имя | Описание |
Конструктор | |
NumberFormatInfo() | Инициализирует новый доступный для записи экземпляр класса NumberFormatInfo, не зависящий от языка и региональных параметров (инвариантный). |
Свойства | |
CurrencyDecimalDigits | Возвращает или задает число десятичных разрядов, используемое в значениях денежных сумм. |
CurrencyDecimalSeparator | Возвращает или задает строку, используемую в качестве десятичного разделителя в значениях денежных сумм. |
CurrencyGroupSeparator | Возвращает или задает строку, разделяющую разряды в целой части десятичной дроби в значениях денежных сумм. |
CurrencyGroupSizes | Возвращает или задает число цифр в каждой из групп целой части десятичной дроби в значениях денежных сумм. |
CurrencyNegativePattern | Возвращает или задает шаблон формата для отрицательных значений денежных сумм. |
CurrencyPositivePattern | Возвращает или задает шаблон формата для положительных значений денежных сумм. |
CurrencySymbol | Возвращает или задает строку, используемую в качестве знака денежной единицы. |
CurrentInfo | Возвращает доступный только для чтения объект NumberFormatInfo, форматирующий значения на основе текущего языка и региональных параметров. |
DigitSubstitution | Возвращает или задает значение, определяющее, каким образом в графическом интерфейсе пользователя должны отображаться фигуры цифр. |
InvariantInfo | Возвращает объект NumberFormatInfo, доступный только для чтения, который не зависит от языка и региональных параметров (инвариантный). |
IsReadOnly | Возвращает значение, указывающее, является ли данный объект NumberFormatInfo доступным только для чтения. |
NaNSymbol | Возвращает или задает строку, представляющую значение IEEE NaN (не числовое). |
NativeDigits | Возвращает или задает массив строк собственных цифр, эквивалентных арабским цифрам от 0 до 9. |
NegativeInfinitySymbol | Возвращает или задает строку, представляющую минус бесконечность. |
NegativeSign | Возвращает или задает строку, указывающую, что соответствующее число является отрицательным. |
NumberDecimalDigits | Возвращает или задает число десятичных разрядов, используемое в числовых значениях. |
NumberDecimalSeparator | Возвращает или задает строку, используемую в качестве десятичного разделителя в числовых значениях. |
NumberGroupSeparator | Возвращает или задает строку, разделяющую разряды в целой части десятичной дроби в числовых значениях. |
NumberGroupSizes | Возвращает или задает число цифр в каждой из групп целой части десятичной дроби в числовых значениях. |
NumberNegativePattern | Возвращает или задает шаблон формата для отрицательных числовых значений. |
PercentDecimalDigits | Возвращает или задает количество десятичных разрядов, используемое в значениях процентов. |
PercentDecimalSeparator | Возвращает или задает строку, используемую в качестве десятичного разделителя в значениях процентов. |
PercentGroupSeparator | Возвращает или задает строку, разделяющую разряды в целой части десятичной дроби в значениях процентов. |
PercentGroupSizes | Возвращает или задает количество цифр в каждой из групп разрядов целой части десятичной дроби в значениях процентов. |
PercentNegativePattern | Возвращает или задает шаблон формата для отрицательных значений процентов. |
PercentPositivePattern | Возвращает или задает шаблон формата для положительных значений процентов. |
PercentSymbol | Возвращает или задает строку, используемую в качестве знака процентов. |
PerMilleSymbol | Возвращает или задает строку, используемую в качестве знака промилле. |
PositiveInfinitySymbol | Возвращает или задает строку, представляющую плюс бесконечность. |
PositiveSign | Возвращает или задает строку, указывающую, что соответствующее число является положительным. |
Методы | |
GetFormat(Type) | Возвращает объект указанного типа, предоставляющий службу форматирования чисел. |
ToString() | Возвращает строковое представление текущего объекта. |
Строки формата и языковые стандарты.
Пример 4.12. Вызов метода Decimal.ToString(IFormatProvider) для преобразования чисел типа Decimal в их строковые представления с использованием настроек форматирования для " en US " (" ru-RU ") в окне Язык и региональные параметры.
#include "stdafx.h"
using namespace System;
using namespace System::Globalization;
int main() {
array<String^>^ formatStrings = { "C2", "E1", "F", "G3", "N",
"#,##0.000", "0,000,000,000.0##" };
// Задание настроек языка и региональных настроек.
CultureInfo^ culture =
CultureInfo::CreateSpecificCulture("en-US"); // "ru-RU"
// или CultureInfo^ culture = CultureInfo::CurrentCulture;
array<Decimal>^ values = { (Decimal)1345.6538,
(Decimal)1921651.16 };
DateTime dateValue = DateTime::Now; // Текущие дата и время
for each (Decimal value in values) {
for each (String^ formatString in formatStrings) {
String^ resultString = value.ToString(formatString, culture);
Console::WriteLine("{0,-17} --> {1}", formatString,
resultString);
}
Console::WriteLine();
}
Console::WriteLine("{0,-17} --> {1}", "G",
dateValue.ToString("G", culture));
Console::ReadLine();
}
/* Вывод: "en-US""ru-RU"
C2 --> $1,345.65 1 345,65р.
E1 --> 1.3E+003 1,3E+003
F --> 1345.65 1345,65
G3 --> 1.35E+03 1,35E+03
N --> 1,345.65 1 345,65
#,##0.000 --> 1,345.654 1 345,654
0,000,000,000.0## --> 0,000,001,345.654 0 000 001 345,654
C2 --> $1,921,651.16 1 921 651,16р.
E1 --> 1.9E+006 1,9E+006
F --> 1921651.16 1921651,16
G3 --> 1.92E+06 1,92E+06
N --> 1,921,651.16 1 921 651,16
#,##0.000 --> 1,921,651.160 1 921 651,160
0,000,000,000.0## --> 0,001,921,651.16 0 001 921 651,16
G --> 9/14/2015 3:19:07 PM 14.09.2015 15:19:07
*/