Перейти к содержимому

Сервис обмена электронных валют

Партнерская программа Kredov

Форматирование больших чисел

#1 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71
0

Отправлено 21 Июнь 2010 - 11:48

как сделать, чтоб число сохраненное в БД как 1000000 выводилось на экран 1 000 000

 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Дублирование фона при большом количестве текста
  2. Нужны ли живые лайки Вконтакте в больших количествах людям?
  3. Хостинг с возможностью отправки большого количества писем
  4. Как в PHP найти наибольшее число

#2 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 21 Июнь 2010 - 13:00

sc2r2bey, Вот простейший запрос
SELECT REPLACE(FORMAT(1000000,0),',',' ') as str_int

Чтобы сделать данное преобразование не с одним числом, а с определенным столбцом, нужно заменить число 1000000 на имя поля, к примеру так:
SELECT REPLACE(FORMAT(pole,0),',',' ') as str_int FROM table


Объясню что тут делается:

FORMAT(X, D) - функция преобразует число X в строку с D знаками после запятой. Каждые три разряда целой части разделяются запятой.
Пример:
SELECT FORMAT(12345.12345, 4)

Мы получим - 12,345.1234
Я же в нашем запросе поставил параметр D равным 0, что означает нуль знаков после запятой.

REPLACE(str, from_str) - функция возвращает строку str, в которой все подстроки from_str заменены на to_str
Пример:
SELECT REPLACE('12,345', ',', ' ')

Мы получим - 12 345

Удачи :rolleyes:
  • 0

#3 surfer

surfer
    Topic Starter
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 21 Июнь 2010 - 20:06

спасибо, сработало! а как сделать сумму строк при условии WHERE `season`=$id и так же разделить по 3 символа?

сделал так, нормально?
						$sql = "SELECT SUM(`parameter`) AS `str` FROM `month` WHERE `season`=$id";
$itogo= mysql_query($sql);
if (mysql_num_rows($itogo) > 0)
{
$qitogo = mysql_fetch_assoc($itogo);
$number = number_format($qitogo['str'], 0, ',', ' ');
echo $number;
}

  • 0

#4 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 21 Июнь 2010 - 21:20

А кто тебе мешает сделать результат суммы, как параметр - число, целое, о котором я писал ранее. Получится тройное вложение и готовый результат :rolleyes:
  • 0

#5 surfer

surfer
    Topic Starter
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 21 Июнь 2010 - 21:30

что-то неполучается
  • 0

#6 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 22 Июнь 2010 - 11:09

sc2r2bey, так не получается? Странно... А у меня получилось :rolleyes:
SELECT REPLACE(FORMAT(SUM(`parameter`),0), ',', ' ') AS `str` FROM `month` WHERE `season`=1

  • 0


Оформление форума – IPBSkins.ru