#macos #shell #decimal-point
#macos #оболочка #десятичная точка
Вопрос:
Мне нужен способ вернуть текущие десятичные и тысячные разделители на основе настройки региона. Я знаю, что вы можете получить разделители на основе языка, используя locale decimal_point
и locale thousands_sep
, и если у вас установлены пользовательские разделители, которые вы можете использовать defaults read -g AppleICUNumberSymbols
, но я не могу найти способ вернуть значения на основе региона.
Например, на странице системных настроек Language amp; Region предпочтительным языком является английский, а регионом — Франция. Я хочу что-то, что вернет » » для разделителя тысяч и «,» для десятичного разделителя.
Комментарии:
1. Вам действительно нужны сценарии оболочки? Знаете ли вы, что есть возможность использовать Swift-скрипты, чтобы вы могли получить их с помощью этого, используя
Foundation.framework
?2. @Larme Это для приложения Automator, поэтому оно не обязательно должно быть оболочкой. Просто все остальное в нем до сих пор является оболочкой. Я не верю, что я мог бы использовать
Foundation.framework
в приложении Automator, не так ли?
Ответ №1:
Хорошо, итак, основываясь на предложениях Ларме о Foundation.фреймворк, я придумал следующее решение, которое даст мне то, что я хочу в сценарии оболочки, используя osascript для доступа к NSNumberFormatter:
osascript -e 'use framework "Foundation"' -e 'return (decimalSeparator of init() of alloc() of NSNumberFormatter of current application as string)'