powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Отобразить ноль перед разделителем десятичной части числа
31 сообщений из 31, показаны все 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
Отобразить ноль перед разделителем десятичной части числа
    #38165786
dar3000,

прикинь - не понимаю. моего грецкоорехового мозга для понимания такой глубокой мысли - банально не хватает
Это же не запросы трехэтажные, таким же нубам, как ты, писать. Там-то ума не надо, тупо нажимаю на нужные кнопочки и делов-то.


З.Ы.
Но ты, если что, расслабься. Сиё был последний ответ тебе лично. Занес тебя в свой собственный "черный список", поэтому буду обходить твои гнилые топики стороной ;)
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38165851
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dar3000Давно пора ТС давать возможность банить (лишать возможности отвечать) некоторых рьяных "автоответчиков" от которых никакого толку.пациент дурдома будет решать, лечение какого дуролога хуже, по своей самомнимой шкале или по количеству голосов других пациентов?
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38165912
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dar3000,
точно, давай введем карму. и я быстренько напишу скриптик чтобы таким как ты её портить. как только карма достигает значения -666 тебя банят...))
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #38166292
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dar3000Vint,

Чей идиотизм?..
зря горячитесь. идиотизм, разумеется, ваш
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Отобразить ноль перед разделителем десятичной части числа
    #39792909
TatjanaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошло много лет, но возник тот-же вопрос, ноль перед запятой.
можете конечно забросать меня гнилыми помидорами, но лучше дайте совет

У меня задача загрузить некие данные в таблицу Т1 с типом XMLTYPE. таблица создана на xsd-схеме.
Элемент, в который идет вставка , описан так:
<xs:attribute name="КолТов" use="optional">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="26"/>
<xs:fractionDigits value="11"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

Мой запрос примерно такой:
insert into Т1 (
select xmlroot(xmlelement("Количество",quantity)
, version '1.0" encoding="windows-1251') xml
from ( select to_char(0.01,'FM9999999999990.99') quantity
from dual where 1=1 )
)

и если этот запрос выдаёт результат правильно (именно так "0.01"), то в таблицу Т1 записывается ".01".
я прочитала всю эту тему , и ссылки, и ...
И у меня складывается впечатление, что я тут ничего нельзя сделать? или всё-таки можно?
...
Рейтинг: 0 / 0
Отобразить ноль перед разделителем десятичной части числа
    #39792912
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таня, надо создавать свои темы, а не гробокопать чужие.
TatjanaMв таблицу Т1 записывается ".01".Наиболее вероятно, что и ты тоже не понимаешь разницы между форматом хранения и отображения данных.
http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Отобразить ноль перед разделителем десятичной части числа
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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