Ваша проблема в том, что number_format
возвращает строку с запятыми, вставленными для тысяч разделителей, поэтому возвращаемое значение из вашей функции равно 1,725.00
. Когда вы пытаетесь привести это как число с плавающей точкой, PHP достигает запятой и говорит, что это больше не число, и возвращает 1
.
Если вам нужно получить отформатированную строку, возвращаемую currentBalance
, лучше всего использовать
$balance = (float)str_replace(',', '', currentBalance($user_id));
В противном случае замените вызов на number_format
на вызов round
так что currentBalance
вместо этого возвращает числовое значение.