Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Записать курс валюты в базу данных
 
 автор: linux_hak   (25.04.2012 в 12:51)   письмо автору
 
 

Есть курсы валют, как из записать в БД?
создаю float записывает 29.488 вместо 29.4880
double (4,4) записывае 0,9999

подскажите

  Ответить  
 
 автор: cheops   (25.04.2012 в 13:02)   письмо автору
 
   для: linux_hak   (25.04.2012 в 12:51)
 

Под курсы валют лучше использовать DECIMAL - это специальный денежный тип, который медленнее других типов с плавающей точкой, однако, он лишен проблем с накоплением ошибки. Используйте какой-нибудь DECIAML(11,4).

  Ответить  
 
 автор: linux_hak   (25.04.2012 в 13:06)   письмо автору
 
   для: cheops   (25.04.2012 в 13:02)
 

ошибся, не double (4,4) записывает 0,9999
DECIMAL (4,4) записывает 0,9999

почему DECIMAL (4,4) записывает 0,9999 а, DECIMAL (11,4) нормально, в чем разница между 11 и 4?
я всегда понимал что кол-вом символов

  Ответить  
 
 автор: cheops   (25.04.2012 в 13:12)   письмо автору
 
   для: linux_hak   (25.04.2012 в 13:06)
 

В DECIMAL первая цифра отворится под все число, а вторая под число после запятой. Т.е. все правильно в DECIMAL(4,4) не может быть больше 0,9999.

  Ответить  
 
 автор: linux_hak   (25.04.2012 в 13:16)   письмо автору
 
   для: cheops   (25.04.2012 в 13:12)
 

спасибо, понял.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования