Det er ikke så meget det med at få de to decimaler - det er mere det, at size2 := (size / 1024); ikke virker. For at få det til at virke, bliver jeg nød til at gøre følgende: size2 := (size div 1024); og det gør at jeg ikke kan lave resultatet med to decimaler.
function Prefix(const Size: Int64; Decimals: Byte = 2): String; var Counter: Byte; begin Counter := 0; while Size/Power(1024, Counter) > 1000.0 do Inc(Counter);
case Counter of 0: Result := 'byte'; 1: Result := 'KB'; 2: Result := 'MB'; 3: Result := 'GB'; 4: Result := 'TB'; 5: Result := 'PB'; 6: Result := 'EB'; else Result := 'Error'; end;
Result := Format('%.'+IntToStr(Decimals)+'n %s', [Size/Power(1024, Counter), Result]); end;
//Det er ikke så meget det med at få de to decimaler - det er mere det, at //size2 := (size / 1024); ikke virker. //For at få det til at virke, bliver jeg nød til at gøre følgende: //size2 := (size div 1024); //og det gør at jeg ikke kan lave resultatet med to decimaler. En integer kan kun indeholde hele tal såsom 1,100,333,65535 eller lign. i det du vil dividere vil det jo ofte give et "skævt" tal. En variabel af typen real, float, extended eller lign. kan indeholde kommatal. Når du så vil have det udskrævet i din statusbar findes der nogle funktioner til at lave det til string men x antal decimaler. deriblandt FloatToStr og Format. /Klaus btw. når du bruger "div" til at dividere med gør den det at den afrunder taldet til 0 decimaler så det kan være i en integer.
Okay hermandsen så kalder vi det en fortalelse......
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.