[Gelöst] Variant of Single --> Double

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
FrankS
Beiträge: 9
Registriert: Mi 26. Jan 2022, 18:55

[Gelöst] Variant of Single --> Double

Beitrag von FrankS »

Hallo,
Ich versuche eine Variable vom Typ Single als Variant zu speichern. Allerdings wird diese als Double im Variant gespeichert. Gibt es da irgendein workaround?
Ich nutze Lazarus 2.0.12 / FPC 3.2.0

Code: Alles auswählen

unit Unit1;

{$mode objfpc}{$H+}
interface

uses
    Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls,
    Variants;

type

    { TForm1 }

    TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
    private

    public

    end;

var
    Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
var
    mySingle: Single;
    myVariant: Variant;
begin
    mySingle := 10.85;
    myVariant := mySingle;
//    myVariant := Single(10.85);
    Case varType(myVariant) of
    varSingle:
        ShowMessage('Datentyp: Single');
    varDouble:
        ShowMessage('Datentyp: Double');
    else
        ShowMessage('Sonstiger Datentyp oder Zustand');
    end;
end;

end.
Zuletzt geändert von FrankS am Mo 13. Jun 2022, 11:51, insgesamt 1-mal geändert.

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Variant of Single --> Double

Beitrag von theo »

Code: Alles auswählen

    myVariant := VarAsType(mySingle, varSingle);
https://stackoverflow.com/questions/151 ... le-variant

FrankS
Beiträge: 9
Registriert: Mi 26. Jan 2022, 18:55

Re: Variant of Single --> Double

Beitrag von FrankS »

@theo
Vielen Dank. Läuft. :D

Antworten