powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Разделитель дробной части в Cashe
21 сообщений из 21, страница 1 из 1
Разделитель дробной части в Cashe
    #34942031
Pit-Bul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как оказалось разделителем дробной части в Cashe является точка, а стандартным разделителем в системе является запятая. Так вот нельзя ли поменять в Cashe разделитель с точки на запятую, и как это сделать???

СУБД Cashe 5.1
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #34942131
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Транслировать цифровые значения...
Код: plaintext
1.
2.
s val= 1 . 333 
s val=$tr(val,".",",")
w !,val
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #34942220
Pit-Bul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так это понятно, я так и сделал, а что нельзя в самом Cashe поменять по типу как в WinXP "Языковая панель". Неужели в системных глобалах нет нужного параметра
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #34942392
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В других языках тоже так?
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #34942477
Pit-Bul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaВ других языках тоже так?


не понял о чем ты, другие языки берут системный разделитель дробной части
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #34942482
Pit-Bul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и это скорее всего проблема не языка, а самой СУБД
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #34942511
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автордругие языки берут системный разделитель дробной части

Вы видимо МОСК программирования!
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #34942525
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, субд называется Cache а не Cashe
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #34942864
AlexKB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pit-Bulтак это понятно, я так и сделал, а что нельзя в самом Cashe поменять по типу как в WinXP "Языковая панель". Неужели в системных глобалах нет нужного параметра

А еще нельза в Cache выполнить остановку сервера по кнопке "ПУСК", а хотелось бы.

Запятая это проблема клиента, вот и решать ее нужно на клиенте, или по дороге к клиенту, как Вам подсказывают.
Cache работает не только на WinXP.
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #34942934
''
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
''
Гость
To Pit-Bul :

Если Вам нужно форматировать числа именно в Cache, то можно попробовать так:
Код: plaintext
1.
2.
3.
4.
5.
s old=$$SetDCFormat^%NLS("DecimalSeparator","*")
s old=$$SetDCFormat^%NLS("NumericGroupSeparator","=")
	
set a= 12345 . 1 
w $FNUMBER(a,""),! ;выводит  12345 * 1 
w $FNUMBER(a,","),! ;выводит  12 = 345 * 1 

PS: Почитайте документацию по $FNUMBER/$NUMBER. Изменения разделителей действует только в рамках текущего процесса.
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #34943636
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pit-Bulтак это понятно, я так и сделал, а что нельзя в самом Cashe поменять по типу как в WinXP "Языковая панель". Неужели в системных глобалах нет нужного параметра

Хм .... а разделитель для float констант в каких нибудь .c , .cpp , .pas файликах у вас при смене региональных настроек тоже меняется ? ... круто
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #34943658
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pit-Bulдругие языки берут системный разделитель дробной части
У нас есть дельфисты... Сишники... Я их опросил Точка у всех. Без всякого "братия системного разделителя"...
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #34943677
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы забыли тех, кто программирует в экселе!

На этот случай я меняю всем системный разделитель целой и дробной части на точку.
Чтобы было как у людей ;-)
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #34943679
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже всегда ставлю точку в настройках
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Разделитель дробной части в Cashe
    #37407104
Фотография Аленочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аналогичная проблема возникла..только при выгрузке в Excel (формат хранения и отображения данных в ZEN с использованием точки в качестве разделителя в принципе меня устраивает, но вот в Excel числа с дробной частью криво выгружаются). В настройках Винды практически у всех пользователей по умолчанию стоит "," эти настройки ручками не хотелось бы править.

Панель управления -> Язык и региональные стандарты -> вкладка "Региональные" параметры -> кнопка "Настройка" -> поле "Разделитель целой и дробной части"

Вопрос - как в методе на COS узнать, какой разделитель стоит у пользователя в настройках Винды? Чтобы если там все-таки стоит "," у дробных чисел подменять "." на "," и только потом выгружать данные в Excel.
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #37407134
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АленочкаВопрос - как в методе на COS узнать, какой разделитель стоит у пользователя в настройках Винды?
Проще иметь настройки пользователя у себя в задаче, вот пусть там сам пользователь и укажет какой символ ему нужен...
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #37407143
Фотография Аленочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa , в принципе как вариант ;)
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #37407350
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Аленочка,
если пользователь с одного и того же компьютера работает :)
а на разных компьютерах проблема может проявиться для того же пользователя.
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #37407465
Диклевич Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в Excel можно же так

Код: plaintext
Application.DecimalSeparator = "."
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #37407617
andrew_tsw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы для генерации отчетов использовали следующий способ
1) Для документа настраивается стиль числовой ячейки (количество знаков после запятой и разделитель разрядов).
2) При генерации отчета для ячейки указывается нужный стиль. Тогда хранится значение 1111111,11111 а отображается как
1 111 111,11.
Возможно, так же для конкретного документа можно настроить разделитель дробной части.
...
Рейтинг: 0 / 0
Разделитель дробной части в Cashe
    #37409004
Фотография Аленочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диклевич АлександрА в Excel можно же так

Код: plaintext
Application.DecimalSeparator = "."


мы примерно вот таким образом данные из tablePane выгружаем, без Application

ClassMethod PrintItToFile(tablePane As %ZEN.Component.tablePane) As %String [ ZenMethod ]
{
set oldio=$IO
set tmpdir=##class(%File).NormalizeDirectory(^%SYS("TempDir"))
set filename = tmpdir_##class(%FileBinaryStream).NewFileName("tmp",^%SYS("TempDir"))
open filename:("NW")
use filename
.....

write "<html><head><meta http-equiv=""Content-Type"" content=""text/html; charset=windows-1251""></head><body>"
do tablePane.%DrawHTML()
write "</body></html>"

......

close filename
use oldio
quit filename

}
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Разделитель дробной части в Cashe
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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