Автор оригинала: AmdY
Eug..
198.866, а почему не 198.866921875 и как это может быть связано с приведением типов?
zerkms у нас сегодня день независимости, немцев победили, так и эту микро войну выиграем.
Да нет войны, и задача решена, - осталась непонятка просто.
С начала.
--------------------------------------------------------------------
Значение $a (198866,921875) - беру из .csv файла
Значение $b (48,6328735351563) - беру из того же файла
далее - $b нужно просто округлить до 2 знаков,
а $a нужно разделить на 1000 и округлить до 3 знаков ;
пишу -
$bb = round($b, 2);
получаю $bb = 48 (ну правильно, разделитель дробной и целой части - не "." - 48 "округлилось" до 48-ми)
а если сделать так:
str_replace(",", ".", $b);
$bb = round($b, 2);
то все зашибись - 48.63
и в то же время, для $a
пишу:
$aa = round(($a / 1000), 3);
и сразу получаю 198.866
получается - деление превращает string-переменную в double-перерменную,
а округление нет?