powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Отобразить ноль перед разделителем десятичной части числа
25 сообщений из 31, страница 1 из 2
Отобразить ноль перед разделителем десятичной части числа
    #38158335
dar3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
число 0.5 отображается на странице как .5
Поискал... ничего толковее fm999990D99999 не нашел. Но ведь в таком варианте целые числа отображаются с разделителем%(, т.е 1 отобразится как 1., что не есть гуд.

Интересно, чем разработчикам oracle помешал ноль перед разделителем десятичной части числа? Хотя сами в Oracle SQL Developer ноль в таком случае отображают.

Кроме того, есть маска "B"... что мешает сделать маску... пусть "Z" для включения режима отображения нуля перед десятичной частью?

А может уже есть в новых версия oracle такая возможность и я не знаю о ней?

PS. Кстати, а что значит "fm" в маске?
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38158358
про какую страницу речь, друже? Любое отображение данных на экране - дело клиентского ПО. Причем тут разработчики оракла?
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38158364
dar3000,

про возможности и fm-модификатор в доке читать не пробовал? Или ты как истинный русский человек - инструкцию читаешь лишь тогда, когда уже ничто другое не помогает?
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38158536
dar3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эхdar3000,

про возможности и fm-модификатор в доке читать не пробовал? Или ты как истинный русский человек - инструкцию читаешь лишь тогда, когда уже ничто другое не помогает?

Не поверишь, читал эту доку и в первоисточнике и в трех других вариантах... Не догадался я, бестолковый, что надо не "Table 2-14 Results of Number Conversions" смотреть, а "Table 2-15 Datetime Format Elements". Хотя казалось бы здесь Number, а там Datetime...

Спасибо, тебе мил-человек, что помог мне глаза помозолить.
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38158558
dar3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эхпро какую страницу речь, друже? Любое отображение данных на экране - дело клиентского ПО. Причем тут разработчики оракла?

Да вряд ли тут дело в клиенте. С чего это бы клиенту нули съедать, именно перед запятой - делать ему нечего больше что ли?
Я вот смотрю в книжецу Санжей Мишра со-товарищи и вижу что там тоже такое же. Главное в тексте нолики как полагается, а в выводе результата без нулей - одни запятые торчат. Неплохая книжка и на тебе...
Думается это злобные америкосы специально так задумали, чтобы их с русскими не путали...
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38158613
ещё раз: отображение информации на экране - дело клиентского приложения. sqlplus, если что, это тоже клиентское приложение. Формат хранения же числа на сервере не имеет ничего общего с тем, что ты видишь на экране. Но, чтобы ты увидел число на экране, клиентское ПО (будь то твоя самописанная программа, или sqlplus, или pls/sql developer) должно по-любому его преобразовать как-то в текстовый вид и показать на экране (распечатать на принтере и т.д и т.п., нужно выбери сам) именно в текстовом формате. Если тебя не удовлетворяет то, как это делает твое клиентское ПО, будь добр позаботься сам о "внешнем виде" числа посредством явного to_chat с указанием нужного формата и, если надо, последующей доработкой полученного "напильником". Где напильник - достаточно широкий арсенала встроенных строковых функций Oracle.
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38158614
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38158660
GaraZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй выполнить
alter session set nls_numeric_characters=".,"
перед отправкой запроса на сервер
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38158697
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GaraZ,
нафига козе баян? или звизданул не подумав?)
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38158701
GaraZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хз
была у меня такая проблема в fastreports
по-моему я ее так решал
может и путаю
плохо помню просто
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38158705
GaraZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня там эта трабла была именно из-за разделителя
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38158896
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dar3000Добрый Э - Эхпро какую страницу речь, друже? Любое отображение данных на экране - дело клиентского ПО. Причем тут разработчики оракла?

Да вряд ли тут дело в клиенте. С чего это бы клиенту нули съедать, именно перед запятой - делать ему нечего больше что ли?
Я вот смотрю в книжецу Санжей Мишра со-товарищи и вижу что там тоже такое же. Главное в тексте нолики как полагается, а в выводе результата без нулей - одни запятые торчат. Неплохая книжка и на тебе...
Думается это злобные америкосы специально так задумали, чтобы их с русскими не путали...
если запрос с сервера возвращает число, то дело в его (числа) представлении зависит исключительно от клиента.
напрягитесь..
у строкового представления числа формат есть, а у числа нет формата.
есть значение, могут быть шкала и точность, а формата нет (закон природы ).
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38159179
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawishу числа нет формата.
есть значение, могут быть шкала и точность, а формата нет (закон природы ).
Вообще-то это не совсем так.
Точнее - совсем не так, поскольку внутреннее представление любых данных имеет свой формат.
Другой вопрос, что формат хранения (числа) и формат представления числа (в виде строки) пользователю совершенно перпендикулярны друг другу.
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38159192
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousorawishу числа нет формата.
есть значение, могут быть шкала и точность, а формата нет (закон природы ).
Вообще-то это не совсем так.
Точнее - совсем не так, поскольку внутреннее представление любых данных имеет свой формат.
Другой вопрос, что формат хранения (числа) и формат представления числа (в виде строки) пользователю совершенно перпендикулярны друг другу.
ок, ок.
..нет формата, кроме внутреннего
:)
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38159391
Артем П.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот тут все хорошо уже сказано было
Тупость неискоренима 3982274
а так
Код: plsql
1.
SELECT TO_CHAR(:число, 'TM','nls_numeric_characters=''. ''') FROM DUAL
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38160032
dar3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Э-эх, добрый, ты чиловек… Только одной доброты мало. Ну подумай ты сам, что OracleSQLDeveloper, то самое клиентское ПО, которое ты перебираешь, отображает все отлично. А вот браузер, тоже клиентское ПО, отображает по «американскому стандарту» – без ведущего нуля. Причем заметь, OSD – бесплатное ПО, а Оракл тянет на десятку-другую килобакс и его функционал to_char надо дорабатывать «напильныком», так как ни одна маска не удовлетворяет – то разделитель дробной части впереди числа, то позади. Это прямо как хвост вытащим, нос увязнет, нос вытащим, хвост увязнет…
А вот и «напильник»:
Код: sql
1.
rtrim(to_char(a, 'fm9990d999'), '.,')


Только меня это не устраивает. Понятно, что несложно набить ее ручками. Да вот только пользователь наверное будет не очень рад, когда для увеличения числа разрядов после запятой или перед надо будет звать программиста для замены формата маски, если будет число с 4 нулями после запятой… Тогда и рождаются такие перлы ‘fm999999999990D9999999999999’. Очень изящно.

Почитал ссылку 3982274 , полностью согласен с ТС. Тему поднимали в 2007, почти 8 лет назад. И за это время не могли сделать такую малость. Да нафиг оно им надо. Разработчикам ПО стоимостью под миллион рублев не до этого. Маркетинг однако… За ноль никто не заплатит, большинство уже привыкло, да и вновь подгребающие изумляются только ОДИН раз, а потом тоже привыкают. А может мне тоже по коммерчески к клиенту подойти. Ты, дорогой клиент, купил за 10-20 килобаксов Оракл, не нравиться тебе отсутствие нуля в браузере – плати еще 1000 баксов и будет тебе ноль. Только такая коммерция дурно пахнет.

Читая некоторые опусы, иногда приходишь к мысли, а чего это оракл вообще ввел дефолтное преобразование из внутреннего формата, да вдобавок есть такая функция to_char()? Ибо нефиг, это же по-Доброму клиентское дело, и надо было оставить двоичное представление, чтобы программисту Oracle было чем занятся, ведь все остальное Oracle сделает сам.

Всем спасибо. Будем знать.
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38160033
dar3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PS. А вообще конечно темы надо называть содержательнее. Не чайниковский бы вопрос 3982274 , глядишь, и лишний раз не спрашивал
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38160037
dar3000,

да, правильно тут подметили - Тупость неискоренима...


Оракл что OracleSQLDeveloper-у, что твоему "браузеру" - отдает число в абсолютно одинаковом виде... Причем, по твоим же словам, OracleSQLDeveloper (продукт так ненавидимым тобой ораклом) - выдает на экране корректный (с твоей точки зрения) результат, а браузер - нет. Так причем тут оракл, если твой браузер не может нормально отобразить число?
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38160219
Артем П.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dar3000функционал to_char надо дорабатывать «напильныком», так как ни одна маска не удовлетворяет – то разделитель дробной части впереди числа, то позади.
...
пользователь наверное будет не очень рад, когда для увеличения числа разрядов после запятой или перед надо будет звать программиста для замены формата маски, если будет число с 4 нулями после запятой…

а чем вас собственно не устраивает стандартная маска TM, которая возвращает только значащие разряды? то есть разделителей в начале или конце полученной строки стоять не будет?
а nls_numeric_characters позволяет задавать разделитель.

если в тз было прописано что на клиенте числа должны выводиться с двумя знаками после запятой и никак иначе, а пользователю вдруг захотелось четыре, то он будет рад позвать программиста)
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38160253
dar3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,
Звону много, а толку мало.
Причем здесь оракл? Клиент, говорите, "балует"? Ну так где же ваши рекомендации клиенту? Многое и многие здесь ссылаются к интерпретациям to_char(). Хотя, интерпетацией должна как раз заниматься to_char(). Это по-вашему функция со стороны клиента и оракл здесь не причем?

Артем П.[а чем вас собственно не устраивает стандартная маска TM, которая возвращает только значащие разряды? то есть разделителей в начале или конце полученной строки стоять не будет?
Попробовал ваш вариант в OSD
Код: sql
1.
SELECT TO_CHAR(0.5, 'TM','nls_numeric_characters=''. ''') FROM DUAL


результат .5
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38160344
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dar3000,

разберитесь с какой стороны вы будете преобразовывать число в строку.
если на сервере то to_char, если на клиенте то каким-то другим функционалом клиента а сервер вам будет отправлять число. А на ваше "хочу 4 знака" всеравно придется менять там где преобразовываете
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38160371
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dar3000,
это уже не тупость - это идиотизм . так яснее? to_char функция сервера для преобразования числа в строку. никакого отношения к клиенту не имеющая. после преобразования клиенту возвращается уже строка,а не число. снимись с ручника, если нет базового представления о типах данных, многозвенных приложениях и вообще о программировании - стоит поменять проф ориентацию.
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38165775
dar3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vint,

Чей идиотизм? Если вы поняли функцию to_char неоракловой, то WhoIsWho. Я нигде не утверждал, что to_char() - функция клиента. Это мне Добрий Эх все про клиента парил. И вы туда же.

Не понимаете сути вопроса - не лезьте со своими советами. Давно пора ТС давать возможность банить (лишать возможности отвечать) некоторых рьяных "автоответчиков" от которых никакого толку.
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38165781
dar3000Это мне Добрий Эх все про клиента парил.И, видимо, "метал бисер пред свиньёй"©.

dar3000 Давно пора ТС давать возможность банить (лишать возможности отвечать) некоторых рьяных "автоответчиков" от которых никакого толку.А после сидеть и ждать ответа от себе подобных?

З.Ы.
Смотрю, от твоей головы тоже толку не особо много. И используешь ты её, скорее всего, как в анекдоте - для "носить шляпу" и "я в неё кушаю" ;)
З.З.Ы.
И пусть меня забанят, но если человек еблан, то это - навсегда
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38165783
dar3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,

Не утруждай себя ответами. Я тебе уже несколько раз сказал - толку нет от твоих ответов. Не понимаешь что ли? А оскорблять - ума много не надо...
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Отобразить ноль перед разделителем десятичной части числа
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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