powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / NLS dot
9 сообщений из 9, страница 1 из 1
NLS dot
    #32048554
none
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как можно узнать символ, отделяюший дробную часть от целой под обычным (не SYS) пользователем. Насколько я себе представляю это какойто из NLS параметров.

Например:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
SQL> declare
   2    number1 number( 20 , 10 );
   3   begin
   4    number1 := '1.1';
   5    DBMS_OUTPUT.PUT_LINE(number1);
   6   end;
   7   /
declare
*
ERROR at line  1 :
ORA- 06502 : PL/SQL: numeric or value error: character to number conversion error
ORA- 06512 : at line  4 

 -- а вот так все ок:
 
SQL> declare
   2    number1 number( 20 , 10 );
   3   begin
   4    number1 := '1,1';
   5    DBMS_OUTPUT.PUT_LINE(number1);
   6   end;
   7   /


Или я туплю и "запятая" при любом NLS-е будет прокатывать???
...
Рейтинг: 0 / 0
NLS dot
    #32048601
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хмм...

А какого <censored> у тебя число в кавычках?
Если оно будет без кавычек, то тогда то, какой NLS стоит у тебя на рабочих станциях будет всё равно. Главное, чтобы оно было правильно у тебя в момент создания модуля.
...
Рейтинг: 0 / 0
NLS dot
    #32048602
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[в сторону :)]
А как красиво некоторые приложения отваливаются под моим "любимым" RUSSIAN_RUSSIA.CL8MSWIN1251...
...
Рейтинг: 0 / 0
NLS dot
    #32048713
none
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну хорошо, vskv, объясню.

Есть некая текстовая форма, куда пользователь ручками вводит цену товара.
Допускаются разные представления цен, например:
10USD
19.25$
20.00р.
20,05руб.
20,99руб
Ну и так далее и тому подобное. Хочеш йены (так пишется?) вводи, хочеш фунты.
Нужно вычленить корректно числовую часть.
...
Рейтинг: 0 / 0
NLS dot
    #32048921
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А более формальный вариант, когда в одном поле идёт выбор кода валюты, а в другом вводится собственно сумма, не подходит?

Сорри, за резкозть -- привык, что оператор обязан явно ввести код валюты (USD, RUR, GBP, EUR...), и никакой самодеятельности, типа "р.", "руб", "у.е" и т.п.
...
Рейтинг: 0 / 0
NLS dot
    #32049038
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 vskv

по-моеум нет в NLS_LANG Russia, есть CIS
...
Рейтинг: 0 / 0
NLS dot
    #32049230
SAA_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vresh vSkv, chto RUSSIAN_RUSSIA.CL8MSWIN1251... tvoj ljubimij character set!!! Ved' togda s kakogo pontu ti dokazival mne chto luche i milee AMERICAN_AMERICA.NEE8ISO1459P4 ??? Lzun!!!

A ja vot ne stalkivalsja s parametrom NLS odnoznachno identificirujuschem desjatichnuju tochku :( Da voobsche-to i problemi takogo roda u menja ne voznikalo, tem bolee chto ja nikogda ne zanimalsja neblagodarnim delom slijanija edenic izmerenija i sobstvenno znachenij velichin. Nu ne pishut v bankah v pole summa 4.50USD + 6.73LVL - 10km...
...
Рейтинг: 0 / 0
NLS dot
    #32049308
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
За разделители отвечает параметр NLS_NUMERIC_CHARACTERS. Если не установлен явно, значение наследуется из NLS_TERRITORY. Если последний не установлен, то из NLS_LANG (CIS, America, etc.)
...
Рейтинг: 0 / 0
NLS dot
    #32051133
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 SAA_:
Обрати внимание, что слово "любимый" взято в кавычки.
А когда я тебе рассказывал про то, почему иногда AMERICAN_AMERICA.NEE8ISO8859P4 оказывается единственным вариантом, я как раз и имел ввиду, что есть парочка приложений, которые очень не любят смену языка на что-либо другое, нежели AMERICAN_AMERICA.
А про NEE8ISO8859P4 -- ну исторически сложилось, что не было в тот момент BLT8MSWIN1257.

2 killed:
Писал по памяти. Дома глянул -- действительно RUSSIAN_CIS.CL8MSWIN1251.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / NLS dot
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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