Mnożenie przez procent w stringu

0

Witam,
piszę prosty programik w delphi.

Mam taki problem, że muszę przemnożyć dwie wartości.
Pierwsza to wartość typu Currency, a druga to wartość typu String.
Currency to np. 100.50, a String trzyma wartość procentową np. '23%'.

Czy jest szybszy sposób niż konwersja 23% na 0.23 ręcznie np. poprzez Copy, Pos itd?

0

Z tego co patrzyłem to nie ma jako takiej funkcji eval w Delphi... Najsensowniejszym rozwiązaniem będzie to co przedstawiłeś. Ewentualnie możesz wartości procentowe trzymać w combobox i mapować jego elementy na tablice z właściwymi wartościami. Jak robisz program do faktur itp., to będzie skończona liczba oprocentowań.

0

Dokładnie jak napisał @Spine. Nie ma dokładnej funkcji. Musiał byś sam ją stworzyć. A dla pewności można robić tak, że Trimujemy wartośc string, usuwamy na przykład przez StringReplace albo w pętli wszelkie znaki inne niż 0-9. I Twoją kwotę mnożymy to przez co uzyskamy z tej konwersji stringa, a później dzielimy (/) przez 100.

0

OK, dzięki.

W takim razie zrobię konwersje po swojemu. Teoretycznie wywalę znak procentowy i podzielę wszystko przez 100.
pozdro

1
lopezx napisał(a):

W takim razie zrobię konwersje po swojemu. Teoretycznie wywalę znak procentowy i podzielę wszystko przez 100.
pozdro

dużo lepiej zrobić dokładnie na odwrót - trzymać wartość w pamięci jako 0,23 a w przypadku gdy chcemy uzyskać "formę przyjazną użytkownikowi" - czyli przy wyświetlaniu na ekranie - pomnożyć razy 100 i dopisać znak procenta

0

To może tutaj coś znajdziesz:
http://stackoverflow.com/questions/12954398/i-want-to-turn-a-percentage-value-string-to-double
od razu przyznaję, że nie sprawdzałem :)
sorrki, to raczej nie do Delphi -mój błąd :(

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