|
|
|
Проблемы с округлением
|
|||
|---|---|---|---|
|
#18+
Такой вот код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Так вот, если скажем rstCurr("sum_price") = 1996685,79, то sngSum принимает значение 1996686. И что это за финт, ведь sngSum объявлена как Single. Т.е. точности должно хватить. И что интересно, если ее определить, как Double, то проблема решается. Кто нибудь сталкивался с подобным? Теперь я уже сомневаюсь во всем коде, где использовал Single, может для верности сделать замену? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 10:11:25 |
|
||
|
Проблемы с округлением
|
|||
|---|---|---|---|
|
#18+
Вот именно что не хватает тебе точности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 10:43:59 |
|
||
|
Проблемы с округлением
|
|||
|---|---|---|---|
|
#18+
Попробуй Double - у него точность поболе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 11:08:30 |
|
||
|
Проблемы с округлением
|
|||
|---|---|---|---|
|
#18+
Если тип поля Денежный логичнее использовать и переменную денежного типа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 11:43:28 |
|
||
|
Проблемы с округлением
|
|||
|---|---|---|---|
|
#18+
Roma RЕсли тип поля Денежный логичнее использовать и переменную денежного типа Разумно - и, вообще, денежный тип менее подвержен ошибкам округления (ибо является почти целочисленным) PS: Просто не сопоставил название поля с типом переменной- бывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 11:48:45 |
|
||
|
Проблемы с округлением
|
|||
|---|---|---|---|
|
#18+
SharkВот именно что не хватает тебе точности Гм, все это странно, хотя может я чего не догоняю. В хэлпе: HelpSingle (single-precision floating-point) variables are stored as IEEE 32-bit (4-byte) floating-point numbers, ranging in value from -3.402823E38 to -1.401298E-45 for negative values and from 1.401298E-45 to 3.402823E38 for positive values Ведь 1996685,79 много меньше 3.402823E38. Или тут с увеличением абсолютного значения числа уменьшается допустимое число знаков после запятной? Т.е. в сингле, числа больше 3402823.0 можно хранить только целые? Если это действительно так, то, признаюсь, для меня это открытие :). Примерно такое же, что и тип Int имеет длину 2 байта а не четыре... я уже научился не использовать тип Int, теперь придется забыть и Single :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 15:26:24 |
|
||
|
Проблемы с округлением
|
|||
|---|---|---|---|
|
#18+
авторИли тут с увеличением абсолютного значения числа уменьшается допустимое число знаков после запятной А ты как хотел? 38 знаков слева от запятой и 45 знаков справа? И как бы ты это запихивал в 32 бита (размер single)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 15:33:59 |
|
||
|
Проблемы с округлением
|
|||
|---|---|---|---|
|
#18+
мдя... как много еще открытий, судя по всему, впереди. Жизнь увлекательна и удивительна... конечно, книжицу бы каку прочесть не мешало, но с "открытиями" - не в пример веселее... точность числового представления для Single - 7-8 десятичных знаков для double - ~16 Код: plaintext VB/VBA - это ОЧЕНЬ хороший язычок, он, при определенном подходе, позволяет и переменные не объявлять, тем самым, как-бы никакой специальный тип не использовать. Хорошо это потому, что позволяет код шкрябать не беспокоясь - надо ли думать о том, чего не знаю, или не надо. Вот тебе совет - научись ВООБЩЕ не использовать типы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 15:42:13 |
|
||
|
Проблемы с округлением
|
|||
|---|---|---|---|
|
#18+
авторя уже научился не использовать тип Int Зря - целочисленный типы, более предсказуемы и у них всегда известна точность :) А у типов с плавующей (стоит обратить внимание) точкой всегда есть шанс, что точности не хватит :) ЗЫ: Money - это целочисленный тип (в некотором роде :) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 15:47:12 |
|
||
|
Проблемы с округлением
|
|||
|---|---|---|---|
|
#18+
Эй, вы чего? Я вот тоже Int не использую. И сильно матерюсь когда в старом коде встречаю. Мне как-то Long больше по душе :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 15:56:53 |
|
||
|
Проблемы с округлением
|
|||
|---|---|---|---|
|
#18+
авторЭй, вы чего? Я вот тоже Int не использую. Какая же в этом доблесть такая специальная? Этому компания Microsoft в своих Gettingg Starting обучает. Речь о другом - о том, что не использовать то, использование чего ты не понимаешь - это скорее хорошо, чем плохо. А степень понимания из контекста изложения вопроса вычитывается единственным способом, без возможности иного толкования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 16:07:02 |
|
||
|
Проблемы с округлением
|
|||
|---|---|---|---|
|
#18+
VictoshaРечь о другом - о том, что не использовать то, использование чего ты не понимаешь - это скорее хорошо, чем плохо. Мне теперь перестать пользоваться компьютером и автомобилем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 16:10:49 |
|
||
|
Проблемы с округлением
|
|||
|---|---|---|---|
|
#18+
йцукА ты как хотел? 38 знаков слева от запятой и 45 знаков справа? Признаюсь, хотел. Но в срочном порядке закатываю губы обратно. paparomeЗря - целочисленный типы, более предсказуемы и у них всегда известна точность Я имел ввиду, что лучше использовать Long, потому что он длиннее :) При работе с таблицами с большим количеством строк есть шанс нарваться на значение ключа, больше максимально допустимого для Int, а это всего 32 тыщи. К тому же на 32-разрядных машинах использование Int вместо Long не приведет к увеличению скорости вычислений. Поэтому, думаю о нем можно забыть, как о пережитке прошлого. Victoshaкак много еще открытий, судя по всему, впереди Вот тут ты прав. Access для меня - страна неизведанных чудес и волшебства :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 16:16:29 |
|
||
|
Проблемы с округлением
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч VictoshaРечь о другом - о том, что не использовать то, использование чего ты не понимаешь - это скорее хорошо, чем плохо. Мне теперь перестать пользоваться компьютером и автомобилем? Саныч, начни с малого :) Перестань пользоваться форумом :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 16:17:15 |
|
||
|
Проблемы с округлением
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч VictoshaРечь о другом - о том, что не использовать то, использование чего ты не понимаешь - это скорее хорошо, чем плохо. Мне теперь перестать пользоваться компьютером и автомобилем? я человек злобный. при этом не советчик, а, скорее, высказыватель "мнения". Хожу - бурчу себе под нос. Получаются ругательства. Люди оборачиваются и крутят пальцем у виска. Следует ли из этого, что я им присоветовал пальцем у виска крутить? По существу вопроса 1) Это должно быть ТВОЕ решение. 2) У меня есть подозрение, что происходит подмена понятий. ------------- 3) Рад, что модераторы - на месте - все хорошо. В общем, я почти вернулся. Скоро стану здоровее - может - подобрею... ЗЫ Нежный я всегда - это у меня структура кожи такая, а про то, что ласковый - пока никому ничего не обещал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 16:19:17 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32595907&tid=1673317]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 379ms |

| 0 / 0 |
