| |
|
|
| | Почему при умножении 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 Кб. |
|
| | 
| |
| |
| |
| |
|
|
| | Неужели нет возможности сделать это в запросе. | |
| |
| |
| |
|
|
| | есть я же зделал тоже самое в запросе | |
| |
| |