如何在php中用小數點拆分數字?在php中用小數點拆分一個數字
我有$ num = 15/4;將$ num變成3.75。我想打出3組75份,所以將$ int = 3和$ DEC = 75我不工作的代碼是:
$num = 15/4; // or $num = 3.75;
list($int, $dec) = split('.', $num);
但導致空$ int和$(分解)。
在此先感謝。
如何在php中用小數點拆分數字?在php中用小數點拆分一個數字
我有$ num = 15/4;將$ num變成3.75。我想打出3組75份,所以將$ int = 3和$ DEC = 75我不工作的代碼是:
$num = 15/4; // or $num = 3.75;
list($int, $dec) = split('.', $num);
但導致空$ int和$(分解)。
在此先感謝。
如果explode
數的小數表示,你失去精度。如果你不介意,那就這樣吧(對於文本表示來說沒關係)。考慮到語言環境!我們比利時人使用逗號(至少是非編程的:)。
如果做記(用於計算例如),您可以使用floor
功能:
$num = 15/4
$intpart = floor($num) // results in 3
$fraction = $num - $intpart // results in 0.75
注:這是一個正數。對於負數,您可以反轉該符號,使用積極方法,並重新轉換int部分的符號。
$num = 15/4; // or $num = 3.75;
list($int, $dec) = explode('.', $num);
$int = $num > 0 ? floor($num) : ceil($num);
$dec = $num - $int;
如果你想$dec
爲正時$num
是負的(像其他的答案),你可以這樣做:
$dec = abs($num - $int);
負數不合格,例如如果$ num = -17.3,那麼$ int = 18和$ dec = 0.7 – 2009-01-05 12:12:00
ok,修改它。 – 2009-01-05 12:14:46
$num = 15/4;
substr(strrchr($num, "."), 1)
$num = 3.75;
$fraction = $num - (int) $num;
在情況下,當你不想失去精度,您可以使用這些:
$number = 10.10;
$number = number_format($number, 2, ".", ",");
sscanf($number, '%d.%d', $whole, $fraction);
// you will get $whole = 10, $fraction = 10
這適用於正數和負數:
$num = 5.7;
$whole = (int) $num; // 5
$frac = $num - (int) $num; // .7
巴西人也使用逗號作爲小數點分隔符和句點千分位分隔符。使用http://us2.php.net/manual/en/function.localeconv.php找出正確的分隔符是爲您的區域 – 2012-04-03 22:32:11