Как определить, находится ли символ валюты слева или справа от числа в MacOS

Как определить, должен ли символ валюты находиться слева или справа от числа, используя CFLocale / CFNumberFormatter в проекте Mac Carbon?

Мне нужно взаимодействовать с приложением электронной таблицы, которое требует, чтобы я передал число, символ валюты, местоположение символа валюты и заполнение вместо CStringRef, созданного с помощью CFNumberFormatter.

CFLocaleRef currentLocale = CFLocaleCopyCurrent();
CFTypeRef currencySymbol = CFLocaleGetValue (currentLocale, kCFLocaleCurrencySymbol);

предоставляет мне символ валюты в виде строки. Но я не понимаю, как определить положение символа валюты...


person Hans Martin Kern    schedule 13.10.2008    source источник


Ответы (2)


В качестве обходного пути я начал создавать строку, представляющую значение валюты и определяющую положение символа валюты путем поиска в строке, но мне это кажется подозрительным.

    CFNumberFormatterRef numberFormatter = CFNumberFormatterCreate(kCFAllocatorDefault, CFLocaleCopyCurrent(), kCFNumberFormatterCurrencyStyle);
    double someNumber = 0;
    CFStringRef asString = CFNumberFormatterCreateStringWithValue(kCFAllocatorDefault, numberFormatter, kCFNumberDoubleType, &someNumber);

...

Не стесняйтесь ударить меня свернутой газетой и сказать мне настоящий ответ...

person Hans Martin Kern    schedule 14.10.2008

Вы можете попробовать проверить строку формата, возвращенную из CFNumberFormatterGetFormat. похоже, что вы хотите найти ¤, что равно \u00A4.

person Colin Barrett    schedule 26.10.2008