Функция GetNumberFormat

Declare Function GetNumberFormat Lib "kernel32.dll" Alias "GetNumberFormatA" (ByVal Locale As Long, _
    ByVal dwFlags As Long, ByVal lpValue As String, _
    lpFormat As Any, ByVal lpNumberStr As String, _
    ByVal cchNumber As Long) As Long

GetNumberFormat форматирует число в соответствии с принятым числовым форматом заданного локального контекста.

Возвращаемое значение

В случае ошибки возвращается 0 (используйте GetLastError для получения кода ошибки). В успешном случае функция возвращает число символов, записанных в буфер lpNumberStr

Параметры

Locale
Идентификатор локального контекста. Возможно использование следующих констант:
LOCALE_SYSTEM_DEFAULT = &H400
Системный локальный контекст по умолчанию
LOCALE_USER_DEFAULT = &H800
Пользовательский локальный контекст по умолчанию
dwFlags
Если используется структура в параметре lpFormat, то равно 0. Если структура используется, то можно использовать константу:
LOCALE_NOUSEROVERRIDE = &H80000000
Принудительное использование системных настроек локального контекста, даже если пользователь изменил их
lpValue
Форматируемое число. Может содержать только цифры от 0 до 9, одну десятичную точку, знак для отрицательных чисел в первой позиции. Остальные числа недействительны
lpFormat
Структура NUMBERFMT, содержащая информацию о форматируемой строке. При использовании локальных настроек по умолчанию используйте 0. В этом случае применяйте конструкцию ByVal CLng(0)
lpNumberStr
Буфер, куда записывается отформатированная строка
cchNumber
Размер буфера в символах для lpNumberStr

Пример

Dim Buffer As String, NF As NUMBERFMT Buffer = String(255, 0) With NF .NumDigits = 3 .Grouping = 1 .lpDecimalSep = "." .lpThousandSep = "" .NegativeOrder = 0 End With GetNumberFormat ByVal 0&, 0, "123456.78", NF, Buffer, Len(Buffer) MsgBox Buffer

Смотри также

GetCurrencyFormat

Категория

Поддержка национальных языков