|
|
|
| Почему при умножении 0,02 на 1 получается 0,200000002980232 типа такого. перемножение происходит в поле запроса. | |
|
| |
|
|
|
| Возможно вы не видите знаков после второго знака после запятой? (установлен формат 2 знака после запятой) | |
|
| |
|
|
|
| 0,02 я ввожу сам, там нет никаких знаков после 2 | |
|
| |
|
|
|
| какого типа 0,02?
где вводите? | |
|
| |
|
|
|
| а это 0,200000002980232 длинна строки в твипах | |
|
| |
|
|
|
| судя по всему длинная плавающая точка - меняй на девствительное, ничего не получится. это гемор как с датами или пиши Round | |
|
| |
|
|
|
| Если в запросе - надо принудительно округлять! | |
|
| |
|
|
|
| Написал так: CStr(0.02)* CStr(1) и всё получилось. 0,02 и 1 Это данные из полей и они могут быть разными числами. | |
|
| |
|
|
|
| ?TypeName(0.2)
Double
В VB и в запросах результат вычислений имеет тип, соответствующий самому точному типу одного из операндов. У вас это Double. Если эта "борода" влияет на точность ваших вычислений, то примените к одному из операндов или/и к результату функцию CDec или CCur.
PS. Это круто - преобразовать числа в строки, чтоб потом их перемножить. | |
|
| |
|
|
|
| >>> преобразовать числа в строки, чтоб потом их перемножить
я вообще чуть в обморок не упал | |
|
| |
|
|
|
| Ладно, переделал на CCur. | |
|
| |
|
23 Кб. |
|
| И всё-таки интересно как можно это исправить . В форме1 странные значения. | |
|
| |
|
19 Кб. |
|
| | |
|
| |
|
|
|
| не могу понять, что ты сделал. Объясни. | |
|
| |
|
64 Кб. |
|
| | |
|
| |
|
|
|
| Неужели нет возможности сделать это в запросе. | |
|
| |
|
|
|
| есть я же зделал тоже самое в запросе | |
|
| |