Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
mchild.bprice = 733.33 mchild.clearw = 49.85 Пишу в поле запроса (mchild.bprice*mchild.clearw) AS xxx получается 36557,1238 - тоесть неправильно. (если посчитать на калькуляторе-то 36556,5005) Что за ерунда... уже все перепробовал... Что самое интересное, что в окне Фокса и из программы непосредственно если писать напрямую ?733.33*49.85=36556,5005 - тоесть правильно. Люди помогите... ато с ума схожу.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 12:59 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
А поля mchild.bprice и mchild.clearw какой точности? И если из командного окна дать ?mchild.bprice * mchild.clearw, то что получается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 13:05 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
А в базе не болтается третий знак после запятой? Может mchild.bprice = 733.33 mchild.clearw = 49.85 это только округленные до второго знака цифири? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 13:12 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
AleksMedА поля mchild.bprice и mchild.clearw какой точности? И если из командного окна дать ?mchild.bprice * mchild.clearw, то что получается? делаю в окне Фокса: SELECT mchild GO 60 (это считается в строке под номером 60) ?mchild.bprice (результат=733,33) ?mchild.clearw (результат=49,85) ?mchild.bprice*mchild.clearw (результат=36557,1238) поля mchild.bprice и mchild.clearw - тип double: with-8,decimal-2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 13:19 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
В худшем случае может получиться и 36560.4164249999 Попробуй Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 13:38 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
UrriВ худшем случае может получиться и 36560.4164249999 Попробуй Код: plaintext 1. 2. 3. 4. 5. 6. 7. ?str(mchild.bprice,15,7) - результат 733,3300000 ?str(mchild.clearw,15,7) - результат 49,8508500 (а почему не 49,8500000???) И что мне делать дальше..... Может какието настройки.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 14:10 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
Конечно если сделать так: (ROUND(mchild.bprice,2)*ROUND(mchild.clearw,2)) AS xxx то получается заветное 36556,5005 НО КАКОГО ФИГА... ЕСЛИ У МЕНЯ В ТАБЛИЦЕ В ПОЛЯХ И ТАК 2 ЦЫФРЫ ПОСЛЕ ЗАПЯТОЙ... НЕ БОЛЬШЕ... ЭТО МНЕ ЧТО ТЕПЕРЬ 20 ЗАПРОСОВ ПЕРЕПИСЫВАТЬ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 14:22 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
Тип Double физически храниться не так как "обычные" данные. В твоем случае некорректны сами исходные данные. ?str(mchild.clearw,15,7) - результат 49,8508500 Вот это и причина. Физически храниться именно указанное значение, а отображается значение 49,85. Если ты перемножишь: ?733.33*49.85085 То и получишь "странное" значение 36557,1238 Т.е. необходимо скорректировать исходные данные . Ошибка именно в них, а вовсе не в каких-то настройках FoxPro. Либо дай напрямую команду вроде: Код: plaintext 1. 2. Либо замени тип Double на тип Numeric(20,2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 14:41 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
ВладимирМТип Double физически храниться не так как "обычные" данные. В твоем случае некорректны сами исходные данные. ?str(mchild.clearw,15,7) - результат 49,8508500 Вот это и причина. Физически храниться именно указанное значение, а отображается значение 49,85. Если ты перемножишь: ?733.33*49.85085 То и получишь "странное" значение 36557,1238 Т.е. необходимо скорректировать исходные данные . Ошибка именно в них, а вовсе не в каких-то настройках FoxPro. Либо дай напрямую команду вроде: Код: plaintext 1. 2. Да, наверное так оно и есть... но немогу понять как оно туда попало вот такое вот значение... и самое главное... как избежать попадания таких чисел... У меня данные в эти поля вводятся в грид.. (текстбокс в ячейке по умолчанию). Тоесть может как то програмно задать для этих текстбоксов маску ввода 99.99 ??? Это поможет???Или как то эще можно сделать....??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 14:58 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
Можно создать RULE (правило) на уровне записи. Дело в том, что FORMAT (или InputMask) в TextBox и контролирует только процесс ввода через этот TextBox. При программной модификации он уже не при чем. В принципе, можно, конечно, сделать и Format (InputMask) в свойствах таблицы. Но эти настройки могут быть перекрыты настройками в объектах формы. Т.е. по большому счету Format и InputMask - это рекомендательные свойства. Далеко не всегда обязательные к исполнению. А вот RULE - ничем не перекроешь. Т.е. пишешь в нем что-то вроде: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Еще раз. Это RULE не уровня конкретного поля (там будет запрет на модификацию), а уровня записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 15:09 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
Всем спасибо... Легче стало как-то на душе после понимания проблемы.. Теперь будем эту проблему исправлять... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 15:16 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
Еще такой вопрос напрашивается: а как не округлить, а отсечь все знаки в цифре начиная после третего знака после запятой. Например нужно ввести число 55,33 Ошибочно будет введено 55,336000 ведь ROUND(55,336000,2) в этом случае вернет 55,34, а мне нужно 55,33 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 17:34 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
?55.336-MOD(55.336,0.01) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 17:49 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
=int(a*100)/100 ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 17:51 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
Help FLOOR Help CEILING ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 17:55 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
UrriHelp FLOOR Help CEILING Они вертают ближайшие большие/меньшие целые числа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 18:07 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
AleksMed?55.336-MOD(55.336,0.01) СПАСИБО, ПОМОГЛО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 21:07 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
AleksMed UrriHelp FLOOR Help CEILING Они вертают ближайшие большие/меньшие целые числа. А совместить с тем, что leaf чуть раньше написал? ;-))) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 10:52 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
Urri AleksMed UrriHelp FLOOR Help CEILING Они вертают ближайшие большие/меньшие целые числа. А совместить с тем, что leaf чуть раньше написал? ;-))) Код: plaintext Ему нужно отсечь, а если после запятой третий знак будет > 4, то получишь не то что хотел. Тогда уж лучше как доктор ( leaf ) прописал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 10:59 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
В данном случае эти функции равнозначны ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 11:01 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
UrriВ данном случае эти функции равнозначны ;-) Прав. А это я себе: "Перед ответом посмотри Help" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 11:05 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
STORE 10.9 TO gnNumber1 STORE -10.1 TO gnNumber2 ? FLOOR(gnNumber1) && Displays 10 ? FLOOR(gnNumber2) && Displays -11 ? int(gnNumber1) && Displays 10 ? int(gnNumber2) && Displays -10 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 11:16 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
STORE -10.111 TO gnNumber2 ?gnNumber2%0.01 &&returns 0.009 ?gnNumber2-gnNumber2%0.01 && returns -10.120 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 11:24 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
Тогда уж лучше как доктор (leaf) прописал. 2алекс за доктора спасибо хотя мне еще до МНС расти и расти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 11:29 |
|
||
|
запрос неправильно считает...
|
|||
|---|---|---|---|
|
#18+
leaf Тогда уж лучше как доктор (leaf) прописал. 2алекс за доктора спасибо хотя мне еще до МНС расти и расти Пожалуйста :) Было бы желание. С INT мне тоже больше нравится. Она более понятна и не выполняет лишних действий. И опять себе: "Прежде чем согласиться проверь на всем диапазоне чисел, а не только на положительных" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 11:35 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32939531&tid=1594710]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
84ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 393ms |

| 0 / 0 |
