Приведение decimal к нормальному виду

323
17 июня 2017, 14:23

Храню в БД кол-во биткоинов в decimal(15,15)

0.004266246300000
0.012133123100000
0.032133123104230

Вывожу в шаблон следующим образом:

echo ..::getMoney($money);

Где getMoney:

static public function getMoney($money)
{
    return (float)$money;
}

И всё бы ничего, но при слишком маленьком значении, вроде 0.00000000000020 в выводе получаю 2.0E-10, а использовать просто echo $money неудобно, т.к. мешаются нули в конце, подскажите, как решить данную проблему?

Answer 1

Вы можете настроить функцию number_format() так как вам нужно. Я считаю, что это поможет. Полное описание в мануале

Узнаём кол-во символов, после запятой так:

$price = '0.004266246300000';
$arrPrice = explode('.', $price);
$symbolSum = iconv_strlen($arrPrice[1]);

С удаление нулей из конца строки так:

$price = '0.004266246300000';
$price = rtrim($price, '0');
$arrPrice = explode('.', $price);
$symbolSum = iconv_strlen($arrPrice[1]);

И дальше можете воспользоваться функцией number_format()

READ ALSO
Как вставить переменную php в тело запроса json

Как вставить переменную php в тело запроса json

Вопрос - как вставить переменную php в тело запроса json?

352
Звездочки в input type=“text”

Звездочки в input type=“text”

Добрый день, как сделать, чтобы в поле input type="text" (не password, именно text) введённые символы заменялись на звездочки, но потом передавать введенное...

643
Bitrix замена %2F

Bitrix замена %2F

Кто подскажет где искать, что бы заменить %2F в url на дефис ? cms bitrix, если пройти по ссылке http://domisadua/catalog/plitkorezy/filter/diametr_disk-is-400/dry_wet_swaing-is-%D0%BD%D0%B5%D1%82+%2F+%D0%B5%D1%81%D1%82%D1%8C/apply/...

454
Получение объекта DateTime:: из strtotime

Получение объекта DateTime:: из strtotime

Доброго времени сутокИмеется метка времени Unix $dt

285