odredjivanje decimalnih mjesta u float-u u borlandu

  • 5 odgovora
  • 3.954 pregleda
odredjivanje decimalnih mjesta u float-u u borlandu 30.09.2005. u 15:16 · pre 256 meseci #1

kako da odredim koliko ce mi biti decimalnih mjesta u flaot-u koji dobijem sa StrToFloat (kasnije bih taj float stavio na StaticText sa FloatToStr())???
ali ne na foru StaticText1->Caption->SetLength(StaticText1->Caption->Length()-5)
nego kao u c-u npr.


printf("broj %10.3f ima 3 cifre poslije decimalnog zareza",broj);

?????
Potpis
kod žorža ti je ka' u banku!!
oko? sto ce ti oko??
Re: odredjivanje decimalnih mjesta u float-u u borlandu 30.09.2005. u 15:59 · pre 256 meseci #2
Ne znam da li postoji neki elegantan nacin za odredjivanje koliko brojeva ima
iza zareza, ali se to jako prosto odredjuje:

Code:

#include <SysUtils.Hpp>

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   AnsiString BROJ = "1234,567";

   int whole_length = BROJ.Length();
   int separator_pos = AnsiPos( DecimalSeparator, BROJ );

   ShowMessage( whole_length - separator_pos );
}


DecimalSeparator je globalna promenljiva koja ti kazuje da li se za odvajanje
koristi tacka ili zarez (podesava se u RegionalSettings).

Takodje decimal separator mozes i da zadas:

DecimalSeparator = '.';

... i vise ne razmisljas.


U svakom slucaju OBAVESZNO pogledaj FormatFloat(), koji se nalazi u
#include <SysUtils.Hpp>.



Re: odredjivanje decimalnih mjesta u float-u u borlandu 30.09.2005. u 16:59 · pre 256 meseci #3
Citat:
DART_VEJDER: kako da odredim koliko ce mi biti decimalnih mjesta u flaot-u koji dobijem sa StrToFloat (kasnije bih taj float stavio na StaticText sa FloatToStr())???
ali ne na foru StaticText1->Caption->SetLength(StaticText1->Caption->Length()-5)
nego kao u c-u npr.


printf("broj .3f ima 3 cifre poslije decimalnog zareza",broj);

?????


A u cem je problem?
C je integralni deo C++-a iliti cpp-a, pa mozes da koristis i taj printf, tj. .3 decimale a sscan tj sscanf funcionise isto, jedino je "problem" zaokruzivanje zadnje (i daljih) decimala jer ih "samo" brise tj NE zaokruzuje matematicarski...



Potpis
http://www.elitesecurity.org/forum/101
Re: odredjivanje decimalnih mjesta u float-u u borlandu 30.09.2005. u 18:10 · pre 256 meseci #4
pa problem je jednostavan, dejandj:

scanf i printf nemaju smisla i mogucnost koriscenja u win programiranju....
to je za konzolno programiranje o cemu ti govoris....

ja sam rekao: hocu da StaticText kao Caption prikaze FloatToStr() neki broj , ali kojem cu staviti samo npr. 3 cifre iza decimalne linije....
e to me interesuje...
Potpis
kod žorža ti je ka' u banku!!
oko? sto ce ti oko??
Re: odredjivanje decimalnih mjesta u float-u u borlandu 01.10.2005. u 07:44 · pre 256 meseci #6
Dakle:

Code:

// ...
#include <StrUtils.Hpp>
// ...
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   double f = 12345.1234; // ili float
   ShowMessage( f );

   AnsiString SKRACENO = FormatFloat( "0.00", f ); // skraceno na dve decimale
   ShowMessage( SKRACENO );
}
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme