Хитрое округление чисел

Статус
В этой теме нельзя размещать новые ответы.

SpaceW

Постоялец
Регистрация
27 Сен 2007
Сообщения
96
Реакции
45
Здравствуйте! Такая проблема:
достаю я из файла числа, например такие:

PHP:
-3.7
-6
-8.29324324
-1.0451
-1.35
0.00
2.46545
0.33
Естественно они в типе стринг, потому как работать с ними я не хотел, мне нужно было тупо их вывести в табличку.
Но, формат в таблице такой: -х.хх либо х.хх, т.е. числа из примера должны вот так выглядеть

PHP:
-3.70
-6.00
-8.29
-1.04
-1.35
0.00
2.46
0.33
Что я сделал:
if($data!="0.00") {
$temp=round($data,2);
}else{
$temp=$data;
}
т.е. мы округляем все, кроме 0.00, НО остается проблема вот в каких числах:
-3.7
-6
Как можно вычислить эти числа, что бы потом добавить к ним
к -3.7 добавить 0 = -3.70
к -6 добавить .00 = -6.00
?
 
Не надо извращаться
Код:
$temp = sprintf("%.02f", $data);
 
Да, вот тут я совсем лопухнулся, мне стыдно :ah:
:tcl:
 
Да, вот тут я совсем лопухнулся, мне стыдно :ah:
Ничего такого ужасного, иногда приходится извращаться сильнее. Проблема частично лежит в отсутствии типизации переменных, поэтому по возможности с числами надо работать как с числами (соответствующих типов - integer, float), а со строками, как со строками. Leading zeroes (заполнение нулями) для строк реализуется через str_pad(), но делать в этом случае так не надо.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху