[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: есть точка в цифре или нет?
m4a1fox
Доброго времени суток. есть задача, чисто на размяться. Имеем массив из чисел, который берется из БД. Тип поляв БД стоит double. соотвественно любое число есть float. И не важно есть в нем точка, или нет. Вопрос. Необходимо вывести цисла(цены) с двумя последними остатками. То есть, если у нам 500 - то должно показываться 500.00, если у нас 4.99 - то должно так и показываться 4.99, нсли же у нас 20.1 - то должно показываться 20.10, если же у нас 20.05 - то должно опказываться 20.05. Интересен именно алгоритм. Кто располагает свободным временем и достаточным желанием... Спасибо.
У меня получилось вот такая функция.

public function currentPrice($number, $separator = '.', $modulo = '0', $currency = '$')
{
$separateNumber = explode($separator, $number);
$integer = $currency . $separateNumber[0]. $separator;
if(isset($separateNumber[1])){
$currentPrice = $integer .$number[1];
if(strlen($separateNumber[1]) == 1){
return $currentPrice . $modulo;
}else{
return $currentPrice;
}
}
else{
return $integer . $modulo . $modulo;
}
}



ВО избежание очевидного вопроса - на is_int, is_float - проверить не могу. Ибо var_dump по всем числам возвращает float()
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.