Uwaga: to pytanie zostało zmodyfikowane, ponieważ mój problem stał się czymś zupełnie innym. Bezpośrednia odpowiedź na pytanie: What's the keyword for the maximal value for a floating point type?
w MBo's answer - użyj stałych System.Math.W Delphi, jakie jest słowo kluczowe dla maksymalnej wartości dla typu zmiennoprzecinkowego?
Delphi udostępnia wiele typów wartości zmiennoprzecinkowych. Na początek są pojedyncze, podwójne i rozszerzone.
zeszłym tygodniu Spojrzałem w górę, co słowo kluczowe jest dla maksymalnej wartości zmiennoprzecinkowe i znalazłem to: http://www.delphibasics.co.uk/RTL.asp?Name=Infinity
var
float1, float2 : single;
begin
float1 := Infinity;
float2 := 23;
ShowMessage('float1 = '+FloatToStr(float1));
ShowMessage('float2 = '+FloatToStr(float2));
ShowMessage('float1 - float2 = '+FloatToStr(float1 - float2));
ShowMessage('-float1 = '+FloatToStr(-float1));
end;
Z rzekomym wyjściu
float1 = INF
float2 = 23
float1 - float2 = INF
-float1 = -INF
Mam formularz z komponentu na nim . Ten składnik ma kilka atrybutów. Jeśli używam edytora właściwości do wstawienia Infinity
jako wartości atrybutu zmiennoprzecinkowego, pojawia się błąd, że jest to niepoprawna wartość zmiennoprzecinkowa. To samo dotyczy INF
.
Następnie wpisałem 9.9E308
w polu MaxValue. Przekształcił się w INF
.
Uczucie raczej zadowolony o tym, że uratował mi formularz i udał się z mojej pracy. Skompilowałem formularz później tego dnia, z powodzeniem testując, że formularz może mieć wartość 1E308
.
Następnego dnia ...
Otwarcie pliku .dfm w notatniku daje mi to:
object gridDoubleEditor: TdgmrGridDoubleEdit
Tag = 0
WantKeyLeftRight = False
WantKeyUpDown = False
WantKeyHomeEnd = False
WantKeyPriorNext = False
EmptyString = '--'
EmptyValue = -1E300
MinValue = -1E300
MaxValue = INF
NumberOfDecimals = 2
Alignment = taRightJustify
Left = 336
Top = 208
end
Jak to się stało, że automatycznie zmienia 9.9E308
do INF, kompiluje pomyślnie, zapisuje się pomyślnie, ale nie ładuje się? Czy to błąd w moim IDE? Używam Embarcadero® Delphi® XE5 wersja 19.0.14356.6604, 32 bity na Windows 7.
Jeśli wystąpi dziwny błąd, pierwszą rzeczą do zrobienia jest zamknięcie/ponowne otwarcie IDE, ponowne otwarcie projektu i przebudowanie (a nie tylko rekompilacja) projektu. – kludg