• 4 odgovora
  • 5.618 pregleda
Zaokruživanje boroja na 2 decimale -> Imam funkciju ali... 29.09.2005. u 12:48 · pre 256 meseci #1
Ovako:

Code:

AnsiString __fastcall TfrmMain::GetFileSize(AnsiString FileName)
{
        AnsiString Size;
        Extended y;
        int x;

        const AnsiString KB = " Kb";
        const AnsiString MB = " Mb";

        x = FileSizeByName(FileName);

        if(x >= 1048576)
        {
                x= x / 1048576;
                y = RoundTo(x, -2);
                Size = (FloatToStr(y)) + MB;
        }
        else
        {
                x = x / 1024;
                y = RoundTo(x, -2);
                Size = (FloatToStr(y)) + KB;
        }

        return Size;
}


Ovo bi trebalo raditi ali rezultat funkcije nema decimala. Npr ako je fajl velik 62,9 Kb, funkcija vraća rezultat 62 Kb.
Niako ne kontam di sam pogriješio?
Re: Zaokruživanje boroja na 2 decimale -> Imam funkciju ali... 29.09.2005. u 15:06 · pre 256 meseci #2
Code:
    
char temp[32];
int broj = FileSizeByName(FileName);
if (broj > (1024*1024))
{
    sprintf(temp, "%.2f MB",  (float)broj / (1024*1024) );
}
else
{
    sprintf(temp, "%.2f KB",  (float)broj / 1024);
}



U nizu temp se nalazi string koji predstavlja velicinu fajla. Prebaci ga u AnsiString... Ja ne znam kako jer ne koristim Borland.

yooyo
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme