![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сравнение вещественных чисел [D7, XP]
Zhekson © (2009-03-27 09:53:00)как правильно сравнивать вещественные числа???
FS (2009-03-27 11:31:00) [1]используй
function CompareValue(const A, B: Extended; Epsilon: Extended): TValueRelationship;
Вот пример:
var
Value: Real;
begin
Value := 0.4;
if Value = 0.4 then
ShowMessage('=')
else
ShowMessage('<>'); // Здесь будет неверный результат
if CompareValue(Value, StrToFloat('0,4')) = 0 then
ShowMessage('=')
else
ShowMessage('<>'); // Верный результат
Amoeba (2009-03-27 10:47:00) [2]Конкретно вот эта статья:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=374
Читать до полного просветления, дабы в дальнейшем вопросов относительно вещественных чисел не возникало.
Zhekson (2009-03-27 10:46:00) [3]используется точность до двух знаков после запятой. как насчет варианта: умножения на 100, присвоение целочисленной переменной целой части вещественного числа и сравнение с целым числом??? Если этот вариант имеет право на жизнь, то какой ф-цией можно присвоить целочисленной переменной целую часть вещественного числа???
{RASkov} (2009-03-27 10:29:00) [4]> [0] Zhekson (27.03.09 09:53)
> или < или <> или = или >= или <=
этот вопрос щекотливый...
Потому как напрямую сравнивать такие числа, может оказаться чревато...
Есть статья на Королевстве "про это"...