Forum Webscript.Ru
Программирование => PHP => Тема начата: a@mail.dux.ru от 09 Апреля 2004, 15:23:20
-
Господа, подскажите, плиз, как избавиться от цифр 1E-007 и вместо них выводить обычные, десятичные цифры.
у меня в базе данных есть поле. данные там дробные: 0.0000000
когда я вывожу их на php странице, например (0.0500000),
то я не хочу что бы было 0.0500000, а хочу что бы было 0.05
Для этого я умножаю данные из базы на 1 (*1)
И все вроде бы хорошо.
НО! когда у меня в ячейке ,базы данных 0.0000001 , то после умножения на 1 у меня выводит
на php странице 1E-007
А я хочу, что бы вывело как есть 0.0000001
Подскажите, пожалуйста, Как быть?
-
попробуй приведи полученное число к float средствами PHP.
$bar = (float) $foo;
-
если я вас правильно понял, то у меня получился код
$ddd=mysql_result($result,$i,"chislo"); // в chislo: 0.0000001
$bar = (float) $ddd;
echo $bar;
выводит все то же - 1E-007
если использую $bar = (int) $ddd; то на выходе только целые числа.
-
что то в пятницу голова не работает. ничего кроме printf("%.7f" .. в голову не приходит
-
AliMamed
Чтож, успокою "важна не победа, а участие"
кстати, моя проблема достаточно распространена. зарегистрировался на http://www.clx.ru - там в табличках тоже проскакивают цифры наподобе - 1E-007
-
a@mail.dux.ru - себя успокой.
тебе дали ответ.
Второй - это то, что тебе надо.
И не надо неумение написать примитивную программу называть "распространенной проблемой".
тем более, что проблема взялась из неправильного хранения в базе.
В каком поле ты хранишь?
-
второй вариант это этот?:
$bar = (int) $ddd;
если на входе было 0.0000001 на выходе получается 0
а мне надо, что бы в этом случае осталось 0.0000001
>В каком поле ты хранишь?
ты про тип данных?
храню в
decimal(11,7)