0
Floats
и Doubles
представляют собой приблизительные значения цифровых данных. По этой причине мы не можем сравнивать их по причине where
, как в случае с другими типами данных.Сравнение поплавков в MySQL?
Есть ли недостаток, если я сравниваю два раза и плавает, как этот CAST(column_name as CHAR) = CAST(@value as CHAR)
Есть ли причина, веб-сайт MySQL рекомендует использовать ABS(a - b) <= some value
Вообще, если вы хотите, чтобы сделать этот вид сравнения, то вы, вероятно, не должен» t использовать FLOATS или DOUBLES – Strawberry
@Strawberry Я знаю, что десятичные знаки являются предпочтительными. Мне просто нужно использовать float/doubles. – MATH000
@ MATH000 не уверен, какой ресурс сайта вы используете, но мне не известно о функции ABS, которая принимает два параметра в MySQL. Обычно вы делаете «ABS (a - b) <= некоторое значение». Что касается причины использования этого уравнения, то «некоторое значение» обычно называется «значением допуска». Подумайте об этом как о приемлемом уровне разницы в сравнении. Если это было 0,001, сравнение двух поплавков вернет true, если разница будет в пределах одной тысячной. –