如何从任何数字中获取小数?

时间:2011-12-21 23:12:45

标签: php

  

可能重复:
  What's the best way to get the fractional part of a float in PHP?

有一个变量,如:

$number = 1.34;

如何获取不同变量的小数?如:

$decimals = 0.34

2 个答案:

答案 0 :(得分:4)

$decimals = $x - floor($x);

P.S。这只适用于正数。要处理正面和负面,你需要更复杂的表达式:

$decimals = ($x >= 0) ? $x - floor($x) : ceil($x) - $x;

欲了解更多信息:

答案 1 :(得分:2)

此功能也适用于负数。

function getDec($num) {
  if($num > 0) {
    return $num - floor($num);
  } else {
    return $num - ceil($num);
  }
}

注意:似乎在我的系统上存在大数字创建结果的问题,如-0.24000000000001而不是-0.24。