Ihre ganzzahligen Variablen sind im Typ int
Wenn Sie zwei int
Typ hinzufügen, ist das Ergebnis zwangsläufig ein ganzzahliges Ergebnis.
$intOne = 1;
$intTwo = 2;
$result = $intOne + $intTwo; // = (int)3
Sie die Art Ihrer Ergebnis ändern können, leicht, aber nicht notwendig ist gut, wenn man einen int in Ihrem var speichern ...
$floatResult = (float) $result; // (float)3
Auch, wenn Sie nicht tun kennen den Typ Ihrer Variable können Sie die Funktion ‚floatval‘ (offizielle doc here) so verwenden:
$floatOne = floatval('3.14'); // (float)3.14
$floatTwo = floatval("3.141 is a Pi number"); // (float)3.14
in diesem Fall, wenn Sie zwei flaot Typ hinzufügen, ist das Ergebnis in float zwei:
$result = $floatOne + floatTwo; // (float)6.281
Die Best Practices wollen die richtige Art auf Ihre Variable und Ihre Datenbank speichern (lesen this für weitere Informationen über Arten und Performance)
, wenn Sie nach dem Integer-Typ nur zeigen Dezimalstellen möchten, können Sie verwenden Sie die number_format()
Funktion (offizielle Dokumentation here) kann wie folgt aus:
$decimalResult = number_format($floatResult, 4);
echo $decimalResult; // Show '3.0000' ^Number of decimals
Hoffe, dass ich Ihnen helfen;)
PHP verwendet Typ Casting sowieso, so dass der Typ keine Rolle spielt. Können Sie nicht einfach '$ result = (float) (1 + 2)' – JustCarty
ja, ich bekomme doppelte Art Wert 3. aber ist es möglich, 3.00? –
Ich verstehe nicht, welchen Unterschied macht es? Wenn der Wert "3" oder "3,0" ist, macht das keinen Unterschied. Wenn Sie den Wert anzeigen, dann verwenden Sie das 'number_format' wie Sie getan haben, und dann ist es wieder egal, was der Typ ist. – JustCarty