php strip前导零和0十进制值

时间:2014-04-09 17:52:43

标签: php string floating-point integer

这属于'我确定有一种更清洁的方法来做到这一点'虽然它运作得很好。也许某种功能。

我有值列表,例如 01.0, 09.5, 10.0, 11.5,

我希望值始终排除前导0并且只保留小数部分(如果它包含.5)。永远不会有任何其他小数值。我目前的代码是:

$data = '09.5'; //just an example value

if (substr($data,0,1) == '0' ) {
    $data = substr($data, 1);
}
if (stripos($data, '.0') !== FALSE ) {
    $data = str_replace('.0','',$data);
}
print $data;

1 个答案:

答案 0 :(得分:3)

把它扔到浮子上:

$data = '09.5';
echo (float) $data; // 9.5

$data = '09.0';
echo (float) $data; // 9

$data = '010';
echo (float) $data;  // 10

Demo

您也可以使用floatval()

echo floatval($data);