Pomijanie znaku przy obliczaniu sumy liczb

0

Witam
Kiedyś znalazłem sposób na pominięcie znaku przy operacji liczenia liczb.
Dokładniej:
Do Edit1 wpisuję 14,50%, do Edit2 np. 5,50 i chodzi o to gdy podliczam, ma być na ten czas ignorowany znak '%',
tak jakby było 14,50 i 5,50 do podliczenia. Po wykonanej operacji ma się pojawić 20%, czyli suma już z tym znakiem.

Mógłbym się bawić w usuwanie znaku % z Edit, a potem go dopisywanie po zsumowaniu, ale kiedyś widziałem
sposób inny, prostszy. Prosiłbym o jakieś wskazówki jak to zrobić.
Dzięki.

zaktualizowanie tagów wątku - furious programming

0

A jak niby inaczej chcesz to zrobić? Nie ma innego sposobu, jak albo usunięcie z łańcucha znaku %, albo skopiowanie podciągu bez tego znaku;


Jak aż tak bardzo nie lubisz warunków, to można przygotować łańcuch z liczbą bez niego:

function PrepareNumber(ANumber: AnsiString): AnsiString;
begin
  Result := Copy(ANumber, 1, Length(ANumber) - 1 + Byte(ANumber[Length(ANumber)] <> '%'));
end;

http://ideone.com/Tdh6wC

Albo od razu z konwersją do Double:

function FixedStrToFloat(ANumber: AnsiString): Double;
begin
  Result := StrToFloat(Copy(ANumber, 1, Length(ANumber) - 1 + Byte(ANumber[Length(ANumber)] <> '%')));
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1