interessanter Code, danke!
Die Prüfung
Code: Alles auswählen
If IsInfinity(Double) Or IsNAN(Double) Or Double > 1e16 Or Double < 1e-16
ProcedureReturn ""
EndIf
Code: Alles auswählen
Debug ToFraction(NaN())
Und warum all dies in einen Topf werfen? Ich würde es eher so machen:
Code: Alles auswählen
If IsInfinity(Double)
ProcedureReturn StrD(Infinity())
ElseIf IsNAN(Double)
ProcedureReturn StrD(NaN())
EndIf
Code: Alles auswählen
If Double < 0
Mich irritiert ein bisschen die Bezeichnung "MaxRelativeError". Relativ wozu? Sind 1e-6 usw. nicht absolute Fehler?