Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
Кстати, help123 с моим вариантом согласился, а ведь он то же на отрицательных числах ведет себя не правильно. Так что leaf рулит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 11:44 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
И то верно ;-) Это моя практика виновата: ну не бывает у меня отрицательных чисел в повседневной работе. ;-) Кстати, я пользуюсь по-старинке типом numeric. ;-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 15:15 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
AleksMedКстати, help123 с моим вариантом согласился, а ведь он то же на отрицательных числах ведет себя не правильно. Так что leaf рулит. Да действительно - ошибочка вышла Написал функцию: Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 16:10 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 16:25 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
AleksMed Код: plaintext А написал потому что без Round число имеет формат ХХ.ХХ00 вместо ХХ.ХХ,-тоесть лишних два нуля откуда-то берутся. А у меня формат поля в таблице с двума нулями, а не с четырмя Просто перестраховался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 18:14 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
help123Просто перестраховался Лучше перебдеть, чем недобдеть! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 18:29 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
Hi help123! > А написал потому что без Round число имеет формат ХХ.ХХ00 вместо > ХХ.ХХ,-тоесть лишних два нуля откуда-то берутся. А у меня формат поля в > таблице с двума нулями, а не с четырмя Это не имеет значения - просто фокс наряду с собственно числом внутри себя (в памяти) хранит ещё и "формат отображения" - от того и бывает иногда что ? ln1 показывает 12 а ? ln1*100 показывает например 1234 :) Однако в собственно таблице формат НЕ сохраняется - он автоматом "вынимается" из залоговка таблицы - как раз для Float (2) это и привело к описанной проблеме - мы "не видим" часть числа, т.к. применённый к нему формат отображения отрезал это :) P.S. Ещё сложнее дело обстоит при математических вычислениях - дело в том, что помимо вычисления собственно чисел, ещё проводятся и кой какие вычисления с этими форматами - от того в частности и получается что INT(myvar*100)/100 даёт 4 знака при отображении (хотя 2 младших всегда 0) :) Для прикола ещё такой код можно проверить: ? (INT(0.12*100)+0.000000)/100 - как говорится результат на лице :) Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 00:58 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
Igor Korolyov ? (INT(0.12*100)+0.000000)/100 - как говорится результат на лице :) у меня получилось 0.120000 а что еще должно быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 06:27 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
AleksMedЛучше перебдеть, чем недобдеть! Это точно Igor KorolyovОднако в собственно таблице формат НЕ сохраняется - он автоматом "вынимается" из залоговка таблицы - как раз для Float (2) это и привело к описанной проблеме - мы "не видим" часть числа, т.к. применённый к нему формат отображения отрезал это :)Да... чесно говоря неожидал я вот такой вот подлости от Фокса... Что-что.. а когда ты ему говоришь считать одно.. а он считает что-то другое... Короче: база уже написана... данные введены.. и тут по всем поставщикам правильно считает... а по одному 6 гривен не идет и данные то все правильные... я чуть не припух вычисляя почему так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 09:06 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
help123Да... чесно говоря неожидал я вот такой вот подлости от Фокса... Что-что.. а когда ты ему говоришь считать одно.. а он считает что-то другое... Короче: база уже написана... данные введены.. и тут по всем поставщикам правильно считает... а по одному 6 гривен не идет и данные то все правильные... я чуть не припух вычисляя почему так... А потому что не надо было экспериментировать с типами данных! На... (в смысле, "зачем") ты использовал тип Double? Экономии захотелось? Ну, так надо точно знать, к чему это может привести. Точнее, как физически храняться такие типы данных и какие особенности по их использованию. Если бы использовал старые типы Numeric или Float такой проблемы в принципе не возникло бы! Хотя, конечно, они физически больше места занимают. Странно, что для хранения денежных сумм ты использовал Double, а не Currency. Хотя с Currency еще больше проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 10:45 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
ВладимирМА потому что не надо было экспериментировать с типами данных! На... (в смысле, "зачем") ты использовал тип Double? Экономии захотелось? Ну, так надо точно знать, к чему это может привести. А я и незнал к чему это может привести... ВладимирМТочнее, как физически храняться такие типы данных и какие особенности по их использованию. Тоже ничего незнаю о этих особенностях... ВладимирМ Если бы использовал старые типы Numeric или Float такой проблемы в принципе не возникло бы! Хотя, конечно, они физически больше места занимают. Убедили, все данные Double перевел в Numeric(20,2). Вроди ничего не изменилось... ВладимирМСтранно, что для хранения денежных сумм ты использовал Double, а не Currency. Хотя с Currency еще больше проблем. Вот-вот даже пробовать Currency не хочу. Денежные суммы у меня теперь тоже в Numeric(20,2) А вот теперь такой офф-топик: у меня чего-то в репорте в ячейке данные начали выводится звездочками. В ячейке формат стоит: Numeric, 99 999. И вроди число из запроса туда подается округленное - Round(xxx.xxxx,0). Ростягивал ячейку на весь экран, убирал формат, что только не делал - все равно звездочки... Притом интересно то, что когда я беру репорт за предыдущий месяц... то данные выводятся... а за этот - звездочки... ЧТО ДЕЛАТЬ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 11:30 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
help123А вот теперь такой офф-топик: у меня чего-то в репорте в ячейке данные начали выводится звездочками. В ячейке формат стоит: Numeric, 99 999. И вроди число из запроса туда подается округленное - Round(xxx.xxxx,0). Ростягивал ячейку на весь экран, убирал формат, что только не делал - все равно звездочки... Притом интересно то, что когда я беру репорт за предыдущий месяц... то данные выводятся... а за этот - звездочки... ЧТО ДЕЛАТЬ Звездочки появляются, если целая часть числа не помещается в формат. Например, у тебя формат 999 999, а число, которое в этот формат надо запихнуть, - милиион и более. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 11:43 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
Или менее чем -100000 ;-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 11:51 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
UrriИли менее чем -100000 ;-))) Перевел поле в буквенный тип и написал - str(rs.recv1,60,2),- все равно звездочки.... а число там скорее всего подставляется 53... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 11:57 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
help123А вот теперь такой офф-топик: у меня чего-то в репорте в ячейке данные начали выводится звездочками. В ячейке формат стоит: Numeric, 99 999. И вроди число из запроса туда подается округленное - Round(xxx.xxxx,0). Ростягивал ячейку на весь экран, убирал формат, что только не делал - все равно звездочки... Притом интересно то, что когда я беру репорт за предыдущий месяц... то данные выводятся... а за этот - звездочки... ЧТО ДЕЛАТЬ Звездочки появляются в случае переполнения. А переполнение может быть: 1) В самих исходных данных! Т.е. в результате конвертации типа данных из Double в Numeric где-то произошло переполнение типа Numeric! Сделай поиск по таблице таких записей Код: plaintext 1. 2) Значение поля больше чем указанный формат. Т.е. в твоем случае ты предпологаешь, что значение поля не превышет 100 тысяч (5 цифр) 3) Объект печати меньше по ширине, чем само значение. Последние 2 пункта ты уже проверил. Значит, остается только ошибка самих исходных данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 12:05 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
Ошибка была в самом запросе... в использовании функции NVL(): NVL(mparent.tariff,0) заменил на: NVL(mparent.tariff,0.00) и все заработало... забыл что у меня два знака после запятой. Хотя такой прикол с NVL - меня удивил... и почему так - я так и не понял... Вычислил чисто методом научного втыка... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 14:29 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
help123Ошибка была в самом запросе... в использовании функции NVL(): NVL(mparent.tariff,0) заменил на: NVL(mparent.tariff,0.00) и все заработало... забыл что у меня два знака после запятой. Хотя такой прикол с NVL - меня удивил... и почему так - я так и не понял... Вычислил чисто методом научного втыка... Так у тебя при 0.00 должны и перед запятой знаки теряться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 14:32 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
AleksMedТак у тебя при 0.00 должны и перед запятой знаки теряться. А почему??? Вы имеете ввиду что нужно писать 00000000.00 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 14:37 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
help123 AleksMedТак у тебя при 0.00 должны и перед запятой знаки теряться. А почему??? Вы имеете ввиду что нужно писать 00000000.00 Ага. А что бы не заморачиваться сколько нулей до, а сколько после запятой ставить пишу NVL(<FldName1>,<FldName2>-<FldName2>), где <FldName2> - поле подходящее по формату для <FldName1> и точно не содержащее NULL при выборке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 14:42 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
Hi help123! А как ты думаешь фокс догадаеться какого размера поле сделать??? Хорошо в VFP9 добавили CAST, а до того именно через "шаблонные" 000.000 и приходилось работать... P.S. Он бы правильно догадался, если бы NULL-ов не было - а так видимо первой записью он NULL встретил, посмотрел что тогда поле содержит 0 и сделал поле типа N(1) - вот прочие записи и не влезли :) Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2005, 02:28 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
Igor Korolyovа так видимо первой записью он NULL встретил, посмотрел что тогда поле содержит 0 и сделал поле типа N(1) - вот прочие записи и не влезли :) Я СНИМАЮ ПЕРЕД ВАМИ ШЛЯПУ... ИМЕННО В ПЕРВОЙ ЗАПИСИ ОН NULL И ВСТРЕТИЛ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2005, 09:10 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
Hi help123! Вообще-то предсказать какую именно запись фоксовый движок посчитает нужным обрабатывать первой (точнее ПЕРЕД первой, на этапе определения структуры будущего курсора) весьма сложно - он всё-же не настолько прямолинеен, чтобы всегда брать первую физически запись, хотя зачастую это так и есть. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2005, 18:09 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32941691&tid=1594710]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 250ms |
| total: | 397ms |

| 0 / 0 |
