number_format
следует использовать только при красивой печати номера.Его возвращаемое значение не должно использоваться в вычислениях, как вы.
Пример:
Если $A = 1045;
, тогда number_format($A,2)
будет теперь 1,045.00
, если вы обрабатываете 1,045.00
как число, которое онобудет 1
запятой, а оставшийся символ будет игнорироваться, а 1/2
будет 0.5
, который вы получаете.