Автор Тема: как избавиться от 1E-007?  (Прочитано 4005 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн a@mail.dux.ru

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 105
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как избавиться от 1E-007?
« : 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

Подскажите, пожалуйста, Как быть?

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
как избавиться от 1E-007?
« Ответ #1 : 09 Апреля 2004, 15:33:16 »
попробуй приведи полученное число к float средствами PHP.
$bar = (float) $foo;
ну, будем исповедоваться?

Оффлайн a@mail.dux.ru

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 105
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как избавиться от 1E-007?
« Ответ #2 : 09 Апреля 2004, 15:55:27 »
если я вас правильно понял, то у меня получился код

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

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

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

если использую $bar = (int) $ddd; то на выходе только целые числа.

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
как избавиться от 1E-007?
« Ответ #3 : 09 Апреля 2004, 16:31:01 »
что то в пятницу голова не работает. ничего кроме printf("%.7f" .. в голову не приходит
ну, будем исповедоваться?

Оффлайн a@mail.dux.ru

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 105
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как избавиться от 1E-007?
« Ответ #4 : 09 Апреля 2004, 16:51:04 »
AliMamed
Чтож, успокою "важна не победа, а участие"

кстати, моя проблема достаточно распространена. зарегистрировался на http://www.clx.ru - там в табличках тоже проскакивают цифры наподобе - 1E-007

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
как избавиться от 1E-007?
« Ответ #5 : 10 Апреля 2004, 00:35:56 »
a@mail.dux.ru - себя успокой.
тебе дали ответ.
Второй - это то, что тебе надо.

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

тем более, что проблема взялась из неправильного хранения в базе.
В каком поле ты хранишь?

Оффлайн a@mail.dux.ru

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 105
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как избавиться от 1E-007?
« Ответ #6 : 10 Апреля 2004, 01:32:06 »
второй вариант это этот?:
$bar = (int) $ddd;

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

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

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

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28