Hinweis: Diese Frage wurde bearbeitet, weil mein Problem etwas völlig anderes wurde. Sie finden die direkte Antwort auf die Frage What's the keyword for the maximal value for a floating point type?
in MBo's answer - verwenden Sie die System.Math-Konstanten.In Delphi, was ist das Schlüsselwort für den maximalen Wert für einen Gleitkommatyp?
Delphi stellt mehrere Gleitkommawerttypen zur Verfügung. Es gibt Single, Double und Extended für den Anfang.
Letzte Woche habe ich nachgeschlagen, was das Schlüsselwort für den Maximalwert Floating-Point ist und diese gefunden: 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;
Mit vermeintlichen Ausgang
float1 = INF
float2 = 23
float1 - float2 = INF
-float1 = -INF
Ich habe ein Formular mit einer Komponente auf sie . Diese Komponente hat einige Attribute. Wenn ich den Eigenschaftseditor verwenden, um Infinity
als Wert für das Gleitkommaattribut zu setzen, erhalte ich den Fehler, dass es ein ungültiger Gleitkommawert ist. Gleiches gilt für INF
.
Dann tippte ich 9.9E308
in das Feld MaxValue. Es wurde in INF
umgewandelt.
Gefühl eher erfreut darüber, sparte ich meine Form und ging mit meiner Arbeit an. Ich kompilierte das Formular später an diesem Tag und prüfte erfolgreich, dass das Formular einen Wert von 1E308
enthalten konnte.
Am nächsten Tag ...
die .dfm Datei in Notepad öffnen, gibt mir diese:
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
Wie kommt es kompiliert automatisch 9.9E308
zu INF ändert, erfolgreich, erfolgreich gespeichert, aber nicht geladen? Ist das ein Fehler in meiner IDE? Ich verwende Embarcadero® Delphi® XE5 Version 19.0.14356.6604, 32 Bit unter Windows 7.
Wenn ein merkwürdiger Fehler auftritt, ist das erste, was zu tun ist, um IDE zu schließen/wieder zu öffnen, das Projekt erneut zu öffnen und das Projekt neu zu erstellen (nicht nur neu zu kompilieren). – kludg