PHP show only significant (non-zero) decimals

前端 未结 11 1389
借酒劲吻你
借酒劲吻你 2021-01-07 19:32

In PHP (using built-in functions) I\'d like to convert/format a number with decimal, so that only the non-zero decimals show. However, another requirement of mine is that if

11条回答
  •  旧巷少年郎
    2021-01-07 19:59

    I don't think theres a way to do that. A regex is probably your best solution:

    $value = preg_replace('/(\.[0-9]+?)0*$/', '$1', $value);
    

    Demo:

    php> $a = array('0.000', '0.0001', '0.0101', '9.000', '9.100', '9.120', '9.123');
    php> foreach($a as $b) { echo $b . ' => ' . preg_replace('/(\.[0-9]+?)0*$/', '$1', $b)."\n"; }
    0.000 => 0.0
    0.0001 => 0.0001
    0.0101 => 0.0101
    9.000 => 9.0
    9.100 => 9.1
    9.120 => 9.12
    9.123 => 9.123
    

提交回复
热议问题