MaskEdit Wert als Geldbetrag auslesen



  • Hallo,

    ich habe ein MaskEdit und möchte den eingetragenen Wert in einen Geldbetrag (int in cent) umwandeln.

    Meine Eingabemaske sieht so aus:

    99,99 €;1;-

    Wenn ich dann über das text()-Attribut den Wert auslese, bekomme ich sowas in der Art:

    " , €" wenn nichts angegeben wurde.
    "1 , €" wenn die erste Stelle eine 1 ist, aber der Rest leer gelassen wurde.

    Wie kann ich diesen Betrag in einen integer umwandeln?
    Mein Ziel:
    "1,00€" => 100
    "1,50€" => 150

    Vielen Dank 😃



  • versuch es mal damit:

    UnicodeString usNum;
    
    for(int i=0;i < Edit1->Text.Length();i++)
    {
       if(IsDigit(Edit1->Text.w_str()[i]) == true ||
          Edit1->Text.w_str()[i] == FormatSettings.DecimalSeparator)
          usNum += Edit1->Text.w_str()[i];
    }
    float f = StrToFloatDef(usNum,0) * 100.0;
    int iCent = (int)f;
    

Anmelden zum Antworten