Номер статьи: KB000007
Связанные блоки:
При анализе прикладного кода было выявлено использование пользовательских значений в качестве обозначения границ минимального значения. Это может быть причиной получения неправильных результатов при выполнении функции, подобных описанной ниже:
Public Function min_r(q: Array Of Double): Variant;
Var
min: Double;
i: Integer;
Begin
min := -99999999;
For i := 0 To q.Length - 1 Do
If q[i] > min Then
min := q[i];
End If;
End For;
Return min;
End Function min_r;
Для получения минимальных/максимальных значений для различных типов данных используйте свойства MinValue и MaxValue:
Минимальное значение типа данных | Максимальное значение типа данных |
Currency | Currency |
DateTime | DateTime |
Decimal | Decimal |
Double | Double |
Integer | Integer |
TimeSpan | TimeSpan |
Корректный способ обозначения границ минимального значения:
Public Function min_r(q: Array Of Double): Variant;
Var
min: Double;
i: Integer;
Begin
min := Double.MinValue;
For i := 0 To q.Length - 1 Do
If q[i] > min Then
min := q[i];
End If;
End For;
Return min;
End Function min_r;
См. также: