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

СУБД Cashe 5.1
...
Рейтинг: 0 / 0
15.11.2007, 14:19
    #34942131
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разделитель дробной части в Cashe
Транслировать цифровые значения...
Код: 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
15.11.2007, 14:36
    #34942220
Pit-Bul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разделитель дробной части в Cashe
так это понятно, я так и сделал, а что нельзя в самом Cashe поменять по типу как в WinXP "Языковая панель". Неужели в системных глобалах нет нужного параметра
...
Рейтинг: 0 / 0
15.11.2007, 15:21
    #34942392
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разделитель дробной части в Cashe
В других языках тоже так?
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
15.11.2007, 15:39
    #34942477
Pit-Bul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разделитель дробной части в Cashe
krvsaВ других языках тоже так?


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

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

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

Запятая это проблема клиента, вот и решать ее нужно на клиенте, или по дороге к клиенту, как Вам подсказывают.
Cache работает не только на WinXP.
...
Рейтинг: 0 / 0
15.11.2007, 17:28
    #34942934
''
''
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разделитель дробной части в Cashe
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
16.11.2007, 08:19
    #34943636
Ptn
Ptn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разделитель дробной части в Cashe
Pit-Bulтак это понятно, я так и сделал, а что нельзя в самом Cashe поменять по типу как в WinXP "Языковая панель". Неужели в системных глобалах нет нужного параметра

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

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

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

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

Код: plaintext
Application.DecimalSeparator = "."
...
Рейтинг: 0 / 0
23.08.2011, 12:23
    #37407617
andrew_tsw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разделитель дробной части в Cashe
Мы для генерации отчетов использовали следующий способ
1) Для документа настраивается стиль числовой ячейки (количество знаков после запятой и разделитель разрядов).
2) При генерации отчета для ячейки указывается нужный стиль. Тогда хранится значение 1111111,11111 а отображается как
1 111 111,11.
Возможно, так же для конкретного документа можно настроить разделитель дробной части.
...
Рейтинг: 0 / 0
24.08.2011, 03:26
    #37409004
Аленочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разделитель дробной части в Cashe
Диклевич АлександрА в 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
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Разделитель дробной части в Cashe / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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