2

我有以下数字:12.00 12.45

我希望那些转换为 000000001200 000000001245

最好的方法是什么?

共 12 个字符,最后 2 位为小数点后 2 位。

4

2 回答 2

5

“它只是工作” - 解决方案

echo str_pad((int) ($value * 100), '0', 12, \STR_PAD_LEFT);

http://php.net/str-pad

您可以查看sprintf()更多技术解决方案。

于 2012-12-30T23:36:54.573 回答
1

您可以使用 number_format 和 printf 删除任何小数并使用零填充。我将它包含在下面的函数中:

<?php
function twelvedigits($a){
    $a = number_format($a, 2, '', '');
    printf("%012s\n", $a);
}
$one = 12.45;
$two = 12.00;

echo '$one: ';
twelvedigits($one);
echo '$two: ';
twelvedigits($two);

?>

请参阅此处的示例:http: //ideone.com/I3UOmQ

于 2012-12-30T23:49:23.713 回答