Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2011, 12:12   #1
alt5000
PHP
Пользователь
 
Аватар для alt5000
 
Регистрация: 28.03.2007
Сообщений: 70
Восклицание Округление до .00 при неявном преобразовании

В таблице есть поле decimal(10,2)
Получаю из файла значение string = "4023,43"
Записываю в базу
В базе - 4023,00

Не могу понять куда делись сотые. Использую settype() значения вообще обнуляются. Не подскажете чтобы это значило?
alt5000 вне форума Ответить с цитированием
Старый 08.12.2011, 13:08   #2
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

У вас разделитель - запятая, точку поставьте
Значение разделителя зависит от настроек т.н. Сulture ... В php оно задается setlocale() -> LC_NUMERIC
В вашем случае ,например, в строке можно просто заменять запятые на точки

Последний раз редактировалось Cronos20; 08.12.2011 в 13:16.
Cronos20 вне форума Ответить с цитированием
Старый 08.12.2011, 15:36   #3
alt5000
PHP
Пользователь
 
Аватар для alt5000
 
Регистрация: 28.03.2007
Сообщений: 70
По умолчанию

Кстати, так и сделал через str_replace()
Код:
$price2 = str_replace(',','.',$price2);
Правда там в оригинальном виде еще и пробел после тысячного разряда. ну , думаю его таким же образом устранить если не пойдет автоматом.

Спасибо за ответ
alt5000 вне форума Ответить с цитированием
Старый 08.12.2011, 15:47   #4
PAAG
Пользователь
 
Регистрация: 08.12.2011
Сообщений: 18
По умолчанию

Да, сделали правильно через замену, пробелы тоже можно заменить на пустую строку.
Еще вариант - сразу в файле хранить числа в нужном формате (тогда не надо будет преобразования производить), все зависит от того, откуда файл получается.
PAAG вне форума Ответить с цитированием
Старый 08.12.2011, 16:04   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

number_format()
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
округление с++ kop Общие вопросы C/C++ 3 14.05.2011 16:01
Округление Madina192 Microsoft Office Access 6 29.04.2011 12:28
Округление Farmokolog Общие вопросы Delphi 2 19.02.2011 16:08
ОКРУГЛение Андрей_Васильевич Microsoft Office Excel 5 19.10.2009 09:09
При вставке 20-значного числа в ячейку происходит округление. Как избавиться? urri_k Microsoft Office Excel 9 25.07.2008 23:10