可能性の重複:私は別の変数に小数を取得するにはどうすればよい任意の数値から小数点以下を得るには?
$number = 1.34;
次のような変数を持つ
What's the best way to get the fractional part of a float in PHP?
?以下のような:
$decimals = 0.34
可能性の重複:私は別の変数に小数を取得するにはどうすればよい任意の数値から小数点以下を得るには?
$number = 1.34;
次のような変数を持つ
What's the best way to get the fractional part of a float in PHP?
?以下のような:
$decimals = 0.34
$decimals = $x - floor($x);
P.S.それは正の数に対してのみ働く。詳細情報については
$decimals = ($x >= 0) ? $x - floor($x) : ceil($x) - $x;
:正と負の両方を処理するには、より複雑な式を必要とする
私の頭脳が複雑な解決策を考え始めた簡単な答え...私は恥ずかしいです。 +1 –
この機能も負の数で動作します。
function getDec($num) {
if($num > 0) {
return $num - floor($num);
} else {
return $num - ceil($num);
}
}
注:大きな数字が私のシステムで-0.24000000000001の代わりに、-0.24のような結果を作成するいくつかの問題があるように思えます。
これはFPの丸め誤差です。これはかなり正常です。速い 'sprintf( '%2f'、$ result)'はこれを修正します。 – cHao
おそらく質問が理解しにくいため、投票された可能性があります。 "全体の数字と小数部分をどのように変数で区切るか"の行に沿ってもっと書いてください。 – alecwhardy