Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z obliczaniem od pewnej kwoty

Ostatnio zmodyfikowano 2020-02-10 14:40
Autor Wiadomość
robertos
Temat założony przez niniejszego użytkownika
Problem z obliczaniem od pewnej kwoty
» 2020-02-09 15:01:26
Witam wszystkich. Mam problem z obliczaniem procent od pewnej kwoty ( co jest dla mnie bardzo dziwne ). Może ktoś da mi rade pomóc ?
Programik jest w c++ Builder
Edit dla liczb
Memo wyświetla wyniki

Button:

float kwota, proc;
kwota=StrToFloat(Edit1->Text);
Edit1->Text=FloatToStrF(kwota,ffNumber,4,2);
Edit1->Text="0,00";
proc=StrToFloat("0,00");
proc=StrToFloat(kwota*5/100);


if (kwota > 20000 && kwota <= 50000)
Memo1->Lines->Add("Wynik "+FloatToStrF(proc,ffNumber,4,2)+" .");
if (kwota > 50000 && kwota <= 200000)
Memo1->Lines->Add("Wynik "+FloatToStrF(proc,ffNumber,4,2)+" .");
if (kwota > 200000 && kwota <= 2000000)
Memo1->Lines->Add("Wynik "+FloatToStrF(proc,ffNumber,4,2)+" .");
if (kwota > 2000000 && kwota <= 5000000)
Memo1->Lines->Add("Wynik "+FloatToStrF(proc,ffNumber,4,2)+" .");
if (kwota > 5000000)
Memo1->Lines->Add("Wynik "+FloatToStrF(proc,ffNumber,4,2)+" .");

Do 50 tyś wszystko jest OK
Gdy wartość zbliża się do 200 tyś wynik wynosi np. "Wynik 1E4 ".
Nie wiem gdzie jest problem
P-176207
pekfos
» 2020-02-09 15:07:10
To nie problem obliczeń, tylko formatowania wyniku.
https://www.freepascal.org​/docs-html/rtl/sysutils​/floattostrf.html
P-176208
robertos
Temat założony przez niniejszego użytkownika
» 2020-02-09 15:40:07
Tylko dlaczego na początku dobrze formatuje, a dopiero potem jest problem ?
Przepraszam za umieszczenie wątku w nie odpowiednim miejscu.
P-176209
pekfos
» 2020-02-09 16:53:55
Fixed point format. Value is converted to a string using fixed point notation. The result is composed of all digits of the integer part of Value, preceded by a minus sign if Value is negative. Following the integer part is DecimalSeparator and then the fractional part of Value, rounded off to Digits numbers. If the number is too large then the result will be in scientific notation.
https://www.freepascal.org​/docs-html/rtl/sysutils​/floattostrf.html
P-176210
robertos
Temat założony przez niniejszego użytkownika
» 2020-02-09 17:24:54
Jutro będę próbował. Na razie dzięki.
P-176211
robertos
Temat założony przez niniejszego użytkownika
» 2020-02-10 14:40:17
Miałeś racje. Dodałem jeszcze jedną zmiennną jako Inta i skorzystałem z funkcji floor.
Działa.
P-176222
« 1 »
  Strona 1 z 1