Forum Webscript.Ru

Программирование => PHP => Тема начата: a@mail.dux.ru от 09 Апреля 2004, 15:23:20

Название: как избавиться от 1E-007?
Отправлено: 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

Подскажите, пожалуйста, Как быть?
Название: как избавиться от 1E-007?
Отправлено: AliMamed от 09 Апреля 2004, 15:33:16
попробуй приведи полученное число к float средствами PHP.
$bar = (float) $foo;
Название: как избавиться от 1E-007?
Отправлено: a@mail.dux.ru от 09 Апреля 2004, 15:55:27
если я вас правильно понял, то у меня получился код

$ddd=mysql_result($result,$i,"chislo"); // в chislo: 0.0000001

$bar = (float) $ddd;
echo $bar;

выводит все то же - 1E-007

если использую $bar = (int) $ddd; то на выходе только целые числа.
Название: как избавиться от 1E-007?
Отправлено: AliMamed от 09 Апреля 2004, 16:31:01
что то в пятницу голова не работает. ничего кроме printf("%.7f" .. в голову не приходит
Название: как избавиться от 1E-007?
Отправлено: a@mail.dux.ru от 09 Апреля 2004, 16:51:04
AliMamed
Чтож, успокою "важна не победа, а участие"

кстати, моя проблема достаточно распространена. зарегистрировался на http://www.clx.ru - там в табличках тоже проскакивают цифры наподобе - 1E-007
Название: как избавиться от 1E-007?
Отправлено: Меняздесьдавнонет от 10 Апреля 2004, 00:35:56
a@mail.dux.ru - себя успокой.
тебе дали ответ.
Второй - это то, что тебе надо.

И не надо неумение написать примитивную программу называть "распространенной проблемой".

тем более, что проблема взялась из неправильного хранения в базе.
В каком поле ты хранишь?
Название: как избавиться от 1E-007?
Отправлено: a@mail.dux.ru от 10 Апреля 2004, 01:32:06
второй вариант это этот?:
$bar = (int) $ddd;

если на входе было 0.0000001 на выходе получается 0
а мне надо, что бы в этом случае осталось 0.0000001

>В каком поле ты хранишь?

ты про тип данных?
храню в
decimal(11,7)