0

Странность в MySQL. Пишу цифру 1 в поле (Float или Double), а получаю 0,99.
Данные в БД выглядят так:

введите сюда описание изображения

Сам запрос и результат работы запроса:
(по значению "1", результат не выдаёт - пусто)

введите сюда описание изображения

Почему так происходит? Ведь 0,5 ищет и находит. И как эту странность избежать?

I_CaR
  • 2,700
  • 1
    А избежать - вместо DOUBLE использовать NUMERIC(2,1) – Anton Shchyrov Sep 26 '19 at 10:19
  • @AntonShchyrov, Большое спасибо. В MySQL я самоучка, а в Delphi такого недочёта я не замечал. – I_CaR Sep 27 '19 at 02:48
  • Повезло/не повезло. Этот алгоритм присутствует везде. В том же Delphi, есть тип Currency для хранения точных значений и функция Math.SameValue() для сравнения чисел с плавающей точкой – Anton Shchyrov Sep 27 '19 at 09:03

0 Answers0