Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#82

Re: Mathe mit Strings (die deutsche StringMatheLib ._. )

  Alt 3. Jul 2009, 18:21
Moin,

kann es sein, dass "Dezimalstellen" nicht ganz in Ordnung arbeitet? Also "+12" würde 3 zurückgeben, während "-12" nur 2 zurückgibt ebenso wie "12" (ohne das +). Wobei ich jetzt nicht sicher bin, ob das immer auftritt, oder nur, wenn die automatische Normalisierung deaktiviert ist.
Delphi-Quellcode:
  Function TMathe.Dezimalstellen(a: String): Integer;
    Begin
      Try
        If _ImmerNormalisieren Then _Normalisieren(a);
        Result := Length(a);
        If istNegativ(a) Then Dec(Result);
      Except
        Result := -1;
      End;
    End;
Statt "istNegativ" müsste abgefragt werden, ob das erste Zeichen ein Vorzeichen ist.
Also stattdessen:
If Ord(a[Length(a)]) in [Ord('+'), Ord('-')] Then Dec(Result); MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat