私は次の番号を持っています:12.0012.45
それらを000000001200000000001245に変換してほしい
それを行うための最良の方法は何ですか?
合計は12文字で、最後の2桁は小数点以下2桁です。
「それは単に機能する」-ソリューション
echo str_pad((int) ($value * 100), '0', 12, \STR_PAD_LEFT);
より技術的な解決策を探すことができますsprintf()
。
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