powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Форматированный вывод числа
5 сообщений из 5, страница 1 из 1
Форматированный вывод числа
    #37055843
I_Work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть переменная, назовем ее A , которая содержит целочисленное значение
Код: plaintext
s A =  24100500 

Необходимо вывести на экран красивенько отформатированный вариант с разделителем тысяч при помощи пробела: «24 100 500», при этом не трогая настройки локали.

Вариант с $FNUMBER не позволяет задавать свой разделитель, акромя как настройкой локали :(

Написать небольшую функцию ручного форматирования — дело простое, но «неблагодарное», если есть собственные средства Cache'.

Перерыл уже кучу документов — уже и до SQL добрался...

Помогите, пожалуйста.
...
Рейтинг: 0 / 0
Форматированный вывод числа
    #37055851
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мы по тупому делаем
w $tr($fn(1000000/3,",",2),","," ")
...
Рейтинг: 0 / 0
Форматированный вывод числа
    #37055859
I_Work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.мы по тупому делаем
w $tr($fn(1000000/3,",",2),","," ")
пока проще ничего не придумали :)
...
Рейтинг: 0 / 0
Форматированный вывод числа
    #37055862
I_Work
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.мы по тупому делаем
w $tr($fn(1000000/3,",",2),","," ")
пока проще ничего не придумали :)
единственное, что иначе — используем «.», а не «,», т.к. в документации написано, что «,» использует то, что в локали, а «.» всегда использует европейский формат. :) Вероятность стремиться к нулю, но вдруг кто-нибудь невзначай изменит локаль.
...
Рейтинг: 0 / 0
Форматированный вывод числа
    #37055911
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
I_Work ,

Менять параметры локали в рамках контекста текущего процесса не пробовали?

  s A=24100500
  s old=##class(%SYS.NLS.Format).GetFormatItem("NumericGroupSeparator")
  d ##class(%SYS.NLS.Format).SetFormatItem("NumericGroupSeparator","#")
  w $fn(A,","),!
  d ##class(%SYS.NLS.Format).SetFormatItem("NumericGroupSeparator",old)
  w $fn(A,","),!
  w $tr($fn(A,","),old,"#"),!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Форматированный вывод числа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]