Einführung

Für beliebig genaue mathematische Operationen bietet PHP BCMath, das Zahlen von beliebiger Länge und Genauigkeit mit bis zu 2147483647 (oder 0x7FFFFFFF) Stellen, die als String vorliegen, unterstützt, falls genügend Speicherplatz vorhanden ist.

Achtung

Die Übergabe von Werten vom Typ float an eine BCMath-Funktion, die einen String als Operanden erwartet, funktioniert möglicherweise nicht wie erwartet, aufgrund der Art wie PHP float Werte in Strings konvertiert, nämlich dass der String u.U. in exponentieller Notation vorliegt (was von BCMath nicht unterstützt wird), und dass der Dezimaltrenner vom Locale abhängt (wohingegen BCMath immer einen Dezimalpunkt erwartet).

<?php
$num1 
0// (string) 0 => '0'
$num2 = -0.000005// (string) -0.000005 => '-5.05E-6'
echo bcadd($num1$num26); // => '0.000000'

setlocale(LC_NUMERIC'de_DE'); // verwendet ein Dezimalkomma
$num2 1.2// (string) 1.2 => '1,2'
echo bcsub($num1$num21); // => '0.0'
?>
add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top