Как убрать округление до 2х знаков в личном кабинете?

Технические вопросы по UTM 5.0
Ответить
angelium
Сообщения: 3
Зарегистрирован: Пн ноя 15, 2010 13:13

Как убрать округление до 2х знаков в личном кабинете?

Сообщение angelium »

Собственно проблема в том, что в личном кабинете стоимость звонка округляется до двух символов. Как итоге когда пользователи считают сумму всех звонков они получают несколько меньшую цыфру чем в счёте, в котором стоит цыфра хоть и округлённая до 2х знаков, но округлённая уже после ссуммирования всех стоимостей звонков.

Тоесть для примера.
В биллинге будет так:
5,919
5,189
10,569
итог 21,677 после округления в счёт идёт 21.67
В ЛК будет так:
5,91
5,18
10,56
итог 21,65
Если звонков несколько тысяч эта погрешность выливается в десятки и даже сотни рублей.

angelium
Сообщения: 3
Зарегистрирован: Пн ноя 15, 2010 13:13

Сообщение angelium »

Прошу прощения. Сам раскопал.
Нашол в файле 34_telephony_report.php строчку

Код: Выделить всё

$tmp['total_cost'] = roundDouble($this->urfa->get_double());
и с особым ценизмом избавился от функции roundDouble() доводя строку до исходной наготы вида:

Код: Выделить всё

$tmp['total_cost'] = $this->urfa->get_double();
Также я разбавил блок

Код: Выделить всё

foreach($this->report as $id => $rep) {
$table->addRow(array(
$rep['start_time'],$rep['end_time'],$rep['called_station'],
$rep['calling_station'],$rep['direction'],
$rep['session_time'],$rep['total_cost']));
 }
нехитрой конструкцией вида

Код: Выделить всё

$sum_cost = $sum_cost + $rep['total_cost'];
+добавил вывод общей суммы округлив её до 2х знаков и получив конструкцию вида

Код: Выделить всё

foreach($this->report as $id => $rep) {
$show = true;
$sum_cost = $sum_cost + $rep['total_cost'];
$table->addRow(array(
$rep['start_time'],$rep['end_time'],$rep['called_station'],
$rep['calling_station'],$rep['direction'],
$rep['session_time'],$rep['total_cost']));
}
$table->addRow(array('Общая сумма',round($sum_cost,2)));
Делалось на скорую руку, поэтому не совсем оптимизированно.

Аватара пользователя
kamae1ka
Сообщения: 142
Зарегистрирован: Пн окт 04, 2010 05:14

Сообщение kamae1ka »

Код: Выделить всё

$sum = round($row[balance]*100)/100;

Ответить