Je dois stocker des nombres qui représentent des montants de devise dans 2dp pour être sortis à l'écran. Le même nombre peut être modifié avec des fonctions mathématiques après avoir été formaté. Je suis sûr que je me souviens avoir eu des erreurs dans le passé en raison du traitement du nombre formaté en nombre comme une chaîne, et le séparateur de milliers étant la cause du problème, mais le script ci-dessous s'exécute sans erreurs.Faire face à la devise dans PHP - décimales et nombre_format()
Est-ce que les types de données lâches de PHP sauvent la journée ici? Est-ce que quelque chose a changé dans une version PHP relativement récente? Si non, y a-t-il d'autres circonstances où number_format()
peut encore provoquer l'échec d'une fonction mathématique parce que le nombre est une chaîne?
echo round(1111123.2, 2); //included to demonstrate how it can't be used for this purpose
echo "<br />";
echo number_format(1111123.2, 2);
echo "<br />";
$num = number_format(1111123.2, 2);
echo number_format($num/42, 2);
// output
1111123.2
1,111,123.20
0.02