Liczby rzeczywiste

0

Witam !

Do formatowania liczby rzeczywistej np. 1000 na strumień postaci
1 000,00
służy funkcja ST:=format('%n',[Liczba]);

gdzie: Liczba - liczba rzeczywista
ST - strumień

A do formatowania liczby rzeczywistej 1000 na strumień postaci
1 000,00 zł.
służy funkcja ST:=floattostrF(Liczba,ffcurrency,100,2);

Nie mogę nigdzie znależć i to od dłuższego czasu jak dokonać zamiany
odwrotnej tzn. strumieni w takich postaciach na liczby rzeczywiste.

Za pomoc dziękuję !

0

To cos jednak slabo szukales :) Do obcinania miejsc po przecinku sluzy funkcja Trunc. Mozesz ja wykozystac tak:

showmessage(IntToStr(Trunc(1.8)));

Zwroci 1. Jezeli chcialbys zaokraglac to musisz juz sie pobawic :)

0

Zaokrąglanie to Round więc no problem :-D

0

hmm nie wiem czy dobrze zrozumiałem pytanie bo odpowiedź wydaję się oczywista

MyStr :string
MyReal :real;

MyStr:=FormatFloat('0.00',MyReal);

0

Witam raz jeszcze !

Podpowiedź pomocnicza do tematu:

Usiłuję skonwertować strumień w postaci (patrz uważnie) 5 256,23 zł.
na liczbę rzeczywistą, która powinna mieć postać 5256,23
przecież te dwa ciągi różnią się zasadniczo !
Nie chodzi mi o żadne obcinanie czy zaokrąglanie.

Pozdrówko !

0

jesli "5 645,88 zł" to 1 ciąg nie wysarczy usunąć spacji i odciąć literki??

0

jesli "5 645,88 zł" to 1 ciąg nie wysarczy usunąć spacji i odciąć literki??

... potem zamienić przecinek na spację i użyć StrToFloat?

0

Zrobiłem coś takiego ....

ST:=copy(ST,1,pos(',',ST)+2); //usuwa końcowe literki

while pos(' ',ST)>0 do //usuwa wszystkie występujące spacje
begin
delete(ST,pos(' ',ST),1);
end;
Liczba:=strtofloat(ST); //zamienia na liczbę rzeczywistą

Teoretycznie wszystko w porządku, tylko tyle że nie działa na
moim komputerze ale na sprzęcie kolegi owszę !

O co chodzi w tym wszystkim ?

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