金額を含むコードは注意して取り扱う必要があります。最近たまたま関連する機能があったので、以下に簡単に説明します。 [推奨チュートリアル: php ビデオチュートリアル]
PHP の浮動小数点数は正確に計算できません。詳しくは、この記事をご覧ください。幸いなことに、金額には通常、小数点以下の桁数が多すぎることはありません。ですので、保管に関しては、一言で言えば分単位で保管されます。 MySQL では、int 型で格納するだけで十分です (フィールドの型は適切に選択してください)。
計算:
保管はポイント単位であることは前述しました。つまり、1 元は 100 ポイントとして保管されます。 PHP の組み込み BC Math シリーズ関数を計算に使用できます。詳しい解説はまた後日書きます。
金額の書式設定
以下は金額の書式設定の例です
/** * 格式化金额 * @param $price * @return string */ public function formatPrice($price) { if (!is_numeric($price)) { $price = 0; } return number_format(bcdiv($price, 100, 2), 2); }