Delphi, procent z liczby, string length itd

Delphi, procent z liczby, string length itd
0

Witam serdecznie.
Chce zrobić programik w Delphi, że po naciśnięciu buttona wyciąga mi procent z liczby wpisanej w Edit.
W Edit1 jest wpisane '35', a w Edit2 wpisane '60'. Po naciśnięciu buttona w Edit3 by wyciągnęło ile procent z liczby 60 to 35.
Nie znalazłem jakiś dobrych informacji w necie na ten temat. Więc spróbowałem po prostu zrobić tak:

Button1 Click:

var
A, B, C : Real;
begin

A := StrToFloat(edit1.text);
B := StrToFloat(edit2.text);
C := A / B;
Edit3.text:=FloatToStr (C);


Dzieli liczbe przez liczbę i wychodzi, np 0,5. Więc wystarczy pomnożyć razy 100 i mamy procent z liczby.
Problem w tym, że jak podziele liczbę np 655544 przez 54322222 to wyjdzie mi wynik np 0.4542354354344444.
A chce by w Edit pojawił się wynik max '0.45'. Czyli 2 pierwsze liczby po przecinku.
I nie wiem jak to zrobić.
Nie wiem o co chodzi z Lengts String. String.Delete itd.
Czy da się szybko zrobić w Delphi wyciąganie procentu z liczby, czy musze tak się męczyć najpeirw dzieląc, potem mnożąc razy 100 a potem jeszcze te string.delete?

edytowany 1x, ostatnio: madmike
olesio
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
0

Pozdrawiam.
0

a Czy moglibyście szybko powiedzieć co zrobić by z liczby np 111,432543543 albo 22,543543 zostało po nacisnieciu buttona tylko 111 oraz 22? Czyli zostaja tylko cyfry przed przecinkiem

olesio
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
0

Przeczytaj do końca i uważnie stronę, do której podałem link.


Pozdrawiam.
0

no tak przeczytałem, rozumiem mniej więcej zarys, ale nie mam pojęcia gdzie to wstawić:

Writeln(FormatFloat('0', edit3.text));

Nie znam się za bardzo na Delphi. Czy to wstawić w guzik czy gdzie.

a Gdzie wstawić to?
function FormatFloat(const Format: string; Value: Extended): string; overload;
function FormatFloat(const Format: string; Value: Extended; const FormatSettings: TFormatSettings): string; overload;

olesio
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
0

Po prostu ręce i wszystko inne opada. Powinienem przenieść ten wątek do kosza z adnotacją o jego autorze, ale masz...

Kopiuj
var
  A, B, C : Real;
begin
  A := StrToFloat(Edit1.text);
  B := StrToFloat(Edit2.text);
  C := A / B;
  Edit3.text := FormatFloat('#', C);
end;

I nie trzeba znać się na Delphi tylko logicznie myśleć, że Writeln wypisuje string więc to tylko przykład. I nazywaj sensownie komponenty, a nie samym Edit... bo jak z takim banałem masz problem to później dalej nie ogarniesz.


Pozdrawiam.
edytowany 1x, ostatnio: olesio
pelsta
  • Rejestracja:około 19 lat
  • Ostatnio:28 dni
  • Postów:819
0
Kopiuj
Edit3.text:=FormatFloat('0',C)
pelsta
olesio był szybszy :)
0

Wiem wstyd. Dziekuje za pomoc i usuwam się w cień.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.