Habe meine Ideen mithilfe eines Scripts getestet, leider schlugen
alle meine Ansätze fehl, denke jedoch, dass das Script mein Vorhaben
besser illustriert, als die oberige Erklärung:
PHP Code:
echo "<pre>";
$fractions = mt_rand(1,15);
$percent = mt_rand(1,100);
$subtotal = array();
$total = 0;
for($i=0; $i<$fractions; $i++){
$sub = mt_rand(1,75);
$subtotal[] = $sub;
$total = $total+$sub;
}
echo "Total: ".$total." - "."Percent: ".$percent."% - ";
$percent_total = ($total/100)*$percent;
$percent_total_round = round($percent_total);
echo "Total_Percent: ".$percent_total_round."<br>";
//alle subtotals durchgehen
$all_subtotals = 0;
foreach ($subtotal as $key => $value) {
$percent_sub_is_total = $value/$total;
$sub_calculated = $percent_total_round*$percent_sub_is_total;
$sub_final = round($sub_calculated);//
$percent_new = round($percent_sub_is_total*100);
echo "Subtotal: ".$value." - Percent: ".$percent_new."% - Subpercent: ".$sub_final."<br>";
$all_subtotals = $all_subtotals+$sub_final;
}
echo "Total_Percent Zwischensummen: ".$all_subtotals; //sollte == $percent_total_round sein
echo "</pre>";
Zahl nachträglich anhand der Summe der Prozentanteile der Zwischensummen
auszurechnen. (Kann auch gerne erklähren warum, würde aber eine etwas längere
Erklärung werden
mfg







