Как убрать копейки из цены на php

Часто возникает вопрос: "Как убрать копейки из цены на php?" на него и будет отвечать в этой статье на примере одной cms...

У меня встал вопрос, вернее у моего клиента - нужно было убрать нули из цены, которые появились после подключения к базе 1С...скажу сразу это старый движок shop-script premium , о которой уже даже не пишут...но функции php везде применяются одинаковые...поэтому начал разбираться....

Залез на форумы, там предлагают округлять цену функцией round(), но ведь она же округляет цену, а это не правильно...мне же нужно точно...

Тогда я залез сам в движок, нашел файл /core_functions/functions.php нашел в нем функцию, которая занимается составлением цены:

function _formatPrice($price) {
    $price = (string) $price;

    if (!strstr($price, "."))
     $price .= ".00";

    $oldPrice = $price;
    $res = "";

    $i = 0;
    for ($i = strlen($price) - 1; $i >= 0; $i--) {
        if ($price[$i] == ".")
            break;
        else
            $res = $price[$i] . $res;
    }

   $res = "." . $res;
    

    $i--;
    $digitCounter = 0;
    for (; $i >= 0; $i--) {
        $digitCounter++;
        $res = $price[$i] . $res;
        if ($digitCounter == 3 && $i != 0) {
            $res = "," . $res;
            $digitCounter = 0;
        }
    }

    return $res;
}

и заменил на это:

function _formatPrice($price) {
    $price = (string) $price;

    $oldPrice = $price;
    $res = "";

    $i = 0;
    for ($i = strlen($price) - 1; $i >= 0; $i--) {
        if ($price[$i] == ".")
            break;
        else
            $res = $price[$i] . $res;
    }

    $res = number_format($res);
    $res = $res." ";
    return $res;
}

То есть удалил вообще копейки и была применена функция number_format(), которая автоматом подставляет запятую перед разделяя тысячные:

Что мы получили: 15600.00-->15600-->15,600

Это в точности совпадало с желанием клиента, на этом и остановились...

Добавить комментарий


Защитный код
Обновить

Вы здесь: Сайтостроение Создание сайта PHP Как убрать копейки из цены на php