Folgender Code
Delphi-Quellcode:
procedure funWithVariants();
var
myVariant: OleVariant;
myFloat: Single;
begin
myVariant := '3.14'; // Deutsche FormatSettings sind aktiv
myFloat := myVariant;
WriteLn( myFloat.ToString() ); // Ergibt 314
end;
schreibt "314" statt "3,14" in die Ausgabe. Der implizite Cast von Variant auf Single wirft keine Fehler und ergibt 314. Kann ich hier etwas dagegen tun? Kann ich ihm sagen, dass er bestimmte FormatSettings nehmen soll?
Ich habe in
System.Variants
und
System.VarUtils
nichts gefunden das mir weiterhilft...
PS: Die Werte-Eingaben kommen von außerhalb, auf die habe ich keinen Einfluss. Die sind immer mit "."-Trennzeichen.
PPS: Ja, das Thema ist stark verwandt mit http://www.delphipraxis.net/138610-z...tml#post941518