PHPスクリプトから価格を計算する際に問題が発生しています。PHP - パーセンテージに基づいて数値を計算する方法、2ヶ月後にすべての精度を落とす方法は?
多くの議論の末、私の悲しみの原因はPHPが実際に動作する方法に属することに気付きました。これはほとんどの人が知っている可能性が高いので、私はこれを指摘し、これを実現していない人々のために時間を節約するべきだと思っています。
Phpは、乗算処理中に有限の結果を生成します。 1.246256343のように。今私はアウトストアで使用されているPOSシステム(非PHPベース)が丸めの可能性にかかわらず、小数点以下2桁後に任意の数字を落としているように見えます。 1.246のように、自然に考えるかもしれないので1.24ではなく1.25と計算されます。
これで、私はこの計算を行うためにPHPを使用するときにこの効果を生み出す方法を探しています。私は今、かなりの時間round()
に手を染め、しかし、このインスタンスで使用する場合、それは1.25に1.246を丸めるように、これは最初の場所で問題の根本であることを恐れされています:
$prCalcPrice = round($prPrice/1.02, 2);
それとも、この1
$prCalcPrice = round($prPrice/1.02, 2, PHP_ROUND_HALF_DOWN);
は今、私は基本的に1.246の結果は、1.24の値を生成し、ないだろう1.25、小数点以下の後に任意の桁の値を除いた結果を出力に方法が必要です。
これに関するアイデアや提案はありますか?
また、過去にこれが問題になっていて、チュートリアルや他のページの形式で有用な情報を見つけた場合は、投稿してください!
私に言えば、1.41999は1.41より1.41に近いですか?それは非常に非科学的です。 – NullUserException
@ NullUserException非常にですが、このレガシーシステムはそのように動作します。私たちがオンラインカタルーニャを提供することを計画しているので、これまでの最も簡単なアプローチはこれまでのことでした...今まで:s –