
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
۩
Дата
|
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 45 Пользователь №: 30333 На форуме: Карма: -1 ![]() |
всем привет. есть колонка типа float, в ней запись со значением 0.0001. запрос select bla-bla-bla-bla where value >= 0.0001 результата не дает, зато при условии value >= 0.000095 все ок. как быть?)
|
![]() |
|
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 4155 Пользователь №: 38635 На форуме: Карма: 223 ![]() |
float не сравнивают на =
float заданный явно и float, полученный расчётно не могут быть равны абсолютно. Ни в одном из языков программирования. Причина в формате хранения float в памяти. При сравнении на равенство float наужно использовать следующую формулу abs( a -b ) < допустимый_предел_погрешности -------------------- [продано копирайтерам]
|
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 485 Пользователь №: 40589 На форуме: Карма: 27 ![]() |
numeric
|
![]() |
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 12174 Пользователь №: 23195 На форуме: Карма: 441 Трезвый : 15 лет, 6 месяцев, 28 дней ![]() |
для начала надо написать, какая СУБД используется
-------------------- |
![]() |
|||||
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 4155 Пользователь №: 38635 На форуме: Карма: 223 ![]() |
depp
Думаю, дальше объяснять не нужно. -------------------- [продано копирайтерам]
|
||||
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 485 Пользователь №: 40589 На форуме: Карма: 27 ![]() |
AllesKlar
поясни |
![]() |
|||
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 4155 Пользователь №: 38635 На форуме: Карма: 223 ![]() |
depp
Грубо так: 65536 - 2 байта. Но в памяти оно будет занимать 5 байт (по одному байту на строковый символ) Ну и сами механизмы сравнения, поиска и т.д. дадут все прелести (вернее недостатки) строковых данных -------------------- [продано копирайтерам]
|
||
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 485 Пользователь №: 40589 На форуме: Карма: 27 ![]() |
AllesKlar
numeric как раз и придуман для таких задач, как у топикстартера. не вижу смысла в извращениях с float. |
![]() |
|||
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 4155 Пользователь №: 38635 На форуме: Карма: 223 ![]() |
оно, как говорится, хозяин-барин. Кто борется за ресурсы, тот извращается с float, кто борется за легкость разработки, тот использует numeric Некоторые вообще дату в стрингах хранят. Ну да ладно, думаю, что ТС получил исчерпывающий ответ на свой вопрос, и теперь выбор за ним. -------------------- [продано копирайтерам]
|
||
![]() |
۩
Дата
|
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 45 Пользователь №: 30333 На форуме: Карма: -1 ![]() |
всем спасибо!
|
![]() |
![]() ![]() ![]() |