Mailinglisten-Archive |
Hallo, irgend wie stehe ich auf dem Schlauch. Folgendes ist gegeben: Entwicklungssystem: - Debian - PHP 5.2.0 Produktivsystem: - Windows 2003 SBS SP2 - PHP 5.2.1 Es wird ein Array mit Werten aus der DB erzeugt: $summen["zw_summe"] = 9.5; $summen["ust_prozentwert"][7] = 0.665; Ggf. ist noch eine 2. Ebene vorhanden: $summen["ust_prozentwert"][19] = 0; Wenn ich nun die Unterelemente von "ust_prozentwert" summieren möchte, verwendet man ja "array_sum()". Somit ergeben sich aus allen Werten komplett eine Summe von "10.165". Wenn ich dieses in eine Zeile packe und auf 2 Nachkommastellen runde ... round($summen["zw_summe"]+array_sum($summen["ust_prozentwert"],2); ... dann hab ich unter Debian die Zahl 10.17 ... und unter Windooooof 10.16 ?!?!??!?!?!?! Rund ich aber das Ergebnis von array_sum() noch vor der Addition mit $summen["zw_summe"] ... round($summen["zw_summe"]+round(array_sum($summen["ust_prozentwert"]),2),2); ... dann bringen beide Systeme 10.17 Hab ich irgendetwas übersehen? Oder liefert array_sum() unter Windows die Zahl so, dass diese plötzlich mathematisch gerundet (bei geraden Zahlen vor der 5 wird abgerundet, bei ungeraden vor der 5 wird aufgerundet) wird, so wie es Access schon immer macht. Mach ich einen Denkfehler? Bug? Feature? Mit freundlichen Grüßen Mario Batz
php::bar PHP Wiki - Listenarchive