|
|
|
точность данных ( сравнение числовых типов)
|
|||
|---|---|---|---|
|
#18+
есть три поля m1 m2 m3 = m1*m2 5250 132.65 696412.44 m1,m2, m3 single 5250 132.65 696412.44 m1,m2, m3 double 5250 132.65 696412.50 m1,m3 single ; m2 money правильная только последняя строка хотя вроде точность double выше может кто сталкивался с подобным или надо всю нецелую цифирь переводить под тип money ? на других данных проблем нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2003, 14:56 |
|
||
|
точность данных ( сравнение числовых типов)
|
|||
|---|---|---|---|
|
#18+
П%%здеж все это Ошибки при работе с числами с плавающей точкой конечно есть, но не таких размеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2003, 15:07 |
|
||
|
точность данных ( сравнение числовых типов)
|
|||
|---|---|---|---|
|
#18+
вырыжаться надо культурнее лоху могу кинуть базу с 1 таблицей и 1 формой (A97) пускай посмотрит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 09:47 |
|
||
|
точность данных ( сравнение числовых типов)
|
|||
|---|---|---|---|
|
#18+
А на фига мне что-то кидать? Форму с таблицей я и сам могу сделать. На самом деле доступ к мылу ограничен. Если хочешь - выкладывай куда-нибудь свою чудо базу. Хотя и на пальцах можно объяснить наверное - как именно ты такие данные получаешь. Те цифры которые ты привел - нормально перемножаются и дают правильный результат как в VBA, так и в SQL-запросах. Во всех трех случаях. Так что тараканы в другом месте должны быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 09:58 |
|
||
|
точность данных ( сравнение числовых типов)
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. у меня такая хрень дает ответ вообще 696412,4 и с double то же самое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 09:58 |
|
||
|
точность данных ( сравнение числовых типов)
|
|||
|---|---|---|---|
|
#18+
Бред какой-то Работало же У меня сейчас с синглом - тоже 696412,4 С даблом - 696412.5 Вчера точно помню что результаты были одинаковые. И это пугает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 10:06 |
|
||
|
точность данных ( сравнение числовых типов)
|
|||
|---|---|---|---|
|
#18+
ну да с даблом я погорячился, там все ок :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 10:09 |
|
||
|
точность данных ( сравнение числовых типов)
|
|||
|---|---|---|---|
|
#18+
Может я вчера с синглом не проверил? Хз... В если в таблице числа хранятся и запросом перемножаются - там все ок, щас еще раз проверил. Что 4-х байтовые, что 8-байтовые. Ну значит опаньки с синглом. Был о нем слишком хорошего мнения (потому что не использовал никогда) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 10:13 |
|
||
|
точность данных ( сравнение числовых типов)
|
|||
|---|---|---|---|
|
#18+
а еще одна интересная вещь в тему. попробуйте поставить тип поля в таблице Числовой (с плав точкой 4 байт) а затем в таблице набрать число 158001,25 и оно превратится в 158001,20. Вообще все что >=100 000 после запятой держит только один разряд. А ведь этот тип и есть Single в ВБА. Такая вот арифметика. P.S. из справки Аксес 97 Single (с плавающей точкой обычной точности) 4 байт От -3,402823E38 до -1,401298E-45 для отрицательных значений; от 1,401298E-45 до 3,402823E38 для положительных значений. врут и не краснеют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 10:15 |
|
||
|
точность данных ( сравнение числовых типов)
|
|||
|---|---|---|---|
|
#18+
Точно чудеса У меня это число (158001,25) превращается в 158001,3, у саши в 158001,2. Бог есть, и он дает нам знамения - сегодня программировать нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 10:28 |
|
||
|
точность данных ( сравнение числовых типов)
|
|||
|---|---|---|---|
|
#18+
Они не врут, посмотри сколько там разрядов в мантиссе. Да и вообще, что такое 4 байта, умножив 52501 * 132.65 в Single получишь 6964258, а если еще добавить разрядность, то только экспоненциальная форма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 10:29 |
|
||
|
точность данных ( сравнение числовых типов)
|
|||
|---|---|---|---|
|
#18+
2 Лох: фак. это я напарил малеха :) я на конце 4 писал а в пост 5 кинул. а так у меня тоже 158001,3 получается. Просто интересно почему Ак не отображает как просят? ведь хранит дофига, а показывает только часть. Обыдно. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 10:31 |
|
||
|
точность данных ( сравнение числовых типов)
|
|||
|---|---|---|---|
|
#18+
Да ладно вам. В JavaScript-е чего-нибудь попишите - вопросы по числам с плавающей точкой отпадут и никогда больше не поднимуться Но тараканы у VB конечно есть, куда ж без них. Хуже всего что VB и Jet по разному числа обрабатывают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 10:46 |
|
||
|
точность данных ( сравнение числовых типов)
|
|||
|---|---|---|---|
|
#18+
Просто интересно почему Ак не отображает как просят? ведь хранит дофига, а показывает только часть. Если это тебе так интересно - переведи свое число в двоичную дробь, отрежь мантиссу до сколькиужтамнепомню бит, и переведи это обратно в десятичную. Тогда тебе не так абыдна будет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2003, 11:01 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32259435&tid=1679535]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
79ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 408ms |

| 0 / 0 |
