2 одинаковых числа не равны

Raziel[SD]

untitled00
2 одинаковых числа не равны

вот великолепная тема для офтопика :)
есть такое чудесное творение российских программеров RS Balance.
есть в двух таблицах 2 одинаковых числа, типа DOUBLEM,
сравниваю, не равны, вывожу - они одинаковые 20759.24

смотрю в базу: в одной таблице записано: 20759.24
в другой: 2075924( без точки), ручками исправить немогу :(.

дальше лучше, вычитаю одно из другого, получаю 0.00
вот разные условия для проверки на равенство, и каждое из них неправильно находит "одинаковые" числа, точнее отсеивает равные числа.
----------
if (tmpPrice_r != bill_spc.Price_r)

if (Trim(string(tmpPrice_r - bill_spc.Price_r)) != Trim(string(0.00)))

if (int(bill_spc.Price_r - tmpPrice_r) != 0)
-----------

сравнивать можно только при помощи "==, <, >, !=".

может кто сталкивался или есть идеи ?
 

Raziel[SD]

untitled00
Смотрел пост и нашел ошибку :) кавычки пропущены :).
if (Trim(string(tmpPrice_r - bill_spc.Price_r)) != Trim(string("0.00")))
 

Romantik

TeaM PHPClub
>2075924( без точки)
это один из способов хранения чисел типа DOUBLE для расчетов, что бы небыло погрешности. Действия над целыми числами, а результат форматируется.

У тебя скорее всего вывод форматируем, поэтому сравнивая ты можешь форматируемую строку с числом.
 
Сверху