Servus,
habe ein PHP Script, welches den NETTO Preis in Brutto wandelt.
LIVE-DEMO
Wenn Ich nun aber die Daten in einer while-Schleife einer DB Abfrage mache, kommt statt dem Preis: "149.00", folgender raus: "133.97"
habe in der DEMO auch extra die gleichen Variablen einfließen lassen und mit Absicht als STRING angeben, weil die Daten aus der DB ja auch als String kommen, im TEST geht alles, nur innerhalb der WHILE verkackt der das irgendwie... nur wo finde ich irgendwie nicht heraus :-/
Gruß
Gunah
habe ein PHP Script, welches den NETTO Preis in Brutto wandelt.
PHP-Code:
$GLOBAL = array(
'tax_rates' => array(
1 => 19, // ID => Prozentsatz
2 => 7,
),
);
function Price ( $price, $TAXID = 1, $rate = true )
{
if($rate === true) {
$percent = (float) $GLOBALS['GLOBAL']['tax_rates'][$TAXID];
$price = (float) $price;
$calc = (($price/100)*$percent)+$price;
$round = round($calc,2);
$number_format = number_format($round, 2, '.', '');
return $round;
}
else
{
return (float) $price;
}
}
echo 'Normal: 125.2101 * 1.19';
echo ' = ';
echo round(125.2101 * 1.19, 2);
echo '<br />';
////////////////////////////////
echo 'Function: Price ("125.2101","19")';
echo ' = ';
echo Price ( (string) "125.2101", (string) "1");
////////////////////////////////
echo '<br />';
echo 'Normal-2: ((125.2101/100%)*19%)+125.2101';
echo ' = ';
echo round(((125.2101/100)*19)+125.2101, 2);
/*Browser Ausgabe:
Normal: 125.2101 * 1.19 = 149
Function: Price ("125.2101","19") = 149.00
Normal-2: ((125.2101/100%)*19%)+125.2101 = 149
*/
Wenn Ich nun aber die Daten in einer while-Schleife einer DB Abfrage mache, kommt statt dem Preis: "149.00", folgender raus: "133.97"
habe in der DEMO auch extra die gleichen Variablen einfließen lassen und mit Absicht als STRING angeben, weil die Daten aus der DB ja auch als String kommen, im TEST geht alles, nur innerhalb der WHILE verkackt der das irgendwie... nur wo finde ich irgendwie nicht heraus :-/
Gruß
Gunah
Kommentar