LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Умножение...
 Тема: Умножение
 
 15.06.2007 21:09:12
Krass1
1 сообщения


Тема: Умножение
Люди! Прошу прощения за идиотский вопрос
Access 2000
в запросе одно поле (числовое, Одинарное с плавающей точкой) умножается на другое (целое)
имеем результат с кучей знаков после запятой и далее соответственно неправильный результат при применении Round (выражение;2)
пример такой
0,015*1=0,0149999996647239
Round (0,0149999996647239;2)=0,01, а должен 0,02

Как с этим бороться?


P.S. Общий раздел по запросам
Автор: Krass от 18.03.2005 22:55:49 Источник ...
 15.06.2007 21:09:12
All
4316 сообщения
1-ый


RE: Умножение
Операция умножения 0.015*1 вернет 0.015. С Другой стороны, если где-то и накапливается погрешность, то ее можно "отсечь" путем округления. Например, Format(0.14999999, "0.00") вернет 0.15


P.S. Общий раздел по запросам
Автор: Admin от 0:00:00 Источник ...
 15.06.2007 21:09:12
All
4316 сообщения
1-ый


RE: Умножение
Спасибо, но я пошел несколько другим путем поскольку вариант использования Format мне не подошел (округлять надо было до 2 знака, а погрешность накапливалась в 4 и влияла на 3 и 2 соответственно, сравните мой пример и ваш -
0,014999 и 0,14999)

Может кому и пригодиться: воспользовался для поля форматом "Денежный" (4 знака после запятой) с последующим делением на соответствующий коэффициет во всех расчетах, т.е. храниться не 0,015, а 1,5 и затем при необходимости делиться на 100. Правда у меня используются только числа не меньше 0,000001.





P.S. Общий раздел по запросам
Автор: Krass от 0:00:00 Источник ...
 15.06.2007 21:09:12
All
4316 сообщения
1-ый


RE: Умножение
Спасибо, но я пошел другим путем:
Format не помог мне поскольку при огруглении до 2 знака 0,014999 в 0,02 он никак превратить не мог.
может кому пригодиться мой путь: т.к. я не использую числа меньше 0,000001, то использовал для поля тип "Денежный" (4 знака после запятой) с последующим делением при расчетах на коэффициент. т.е. храниться не 0,015, а 1,5 с последующим делением на 100


P.S. Общий раздел по запросам
Автор: Krass от 0:00:00 Источник ...
 15.06.2007 21:09:12
All
4316 сообщения
1-ый


RE: Умножение
Спасибо, но я пошел другим путем:
Format не помог мне поскольку при огруглении до 2 знака 0,014999 в 0,02 он никак превратить не мог.
может кому пригодиться мой путь: т.к. я не использую числа меньше 0,000001, то использовал для поля тип "Денежный" (4 знака после запятой) с последующим делением при расчетах на коэффициент. т.е. храниться не 0,015, а 1,5 с последующим делением на 100


P.S. Общий раздел по запросам
Автор: Krass от 0:00:00 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Умножение...
ПоискПоиск  Список форумовСписок форумов  
right