Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#13

Re: Wie aus Daten ganze prozentuale Ergebnisse berechnen

  Alt 15. Feb 2009, 13:51
deine etwas "ungerechtere" und schnellere Variante könnte man in Delphi auch recht kurz gestalten
Delphi-Quellcode:
Uses Types, Math;

Function RoundedPercentage(Const Values: Array of Integer): TIntegerDynArray;
  Var i, i2: Integer;

  Begin
    SetLength(Result, Length(Values));
    i2 := SumInt(Values);
    //For i := 0 to High(Values) do Result[i] := Round(Values[i] / i2 * 100);
    For i := 0 to High(Values) do Result[i] := (Values[i] * 100 + i2 shr 1) div i2;
    Inc(Result[High(Result)], 100 - SumInt(Result));
  End;
Code:
15.45  15.45  15.45  15.45  15.45  15.45  7.30

15     15     15     16     16     16     7   // version 1

15     15     15     15     15     15     10  // version 2, also die Jetzige
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat