2

重複の可能性:
PHP のフォーマット番号

出力する 12 char in length値がある場合のように、数値形式が必要です12000000000012

例: value の場合、123.50出力する必要が000000012350あります 10 進数なし (100 の倍数)

どの機能が使用されるか、何か考えはありますか?

ありがとう !

4

4 に答える 4

4

str_padを使用できます

  echo str_pad(12, 12, "0", STR_PAD_LEFT);

printf またはsprintfを使用することもできます

  printf("%012s", 12);

出力

000000000012



いくつかの回避策

var_dump(formatOutput("12"));
var_dump(formatOutput("123.50"));
var_dump(formatOutput("123.378201"));


function formatOutput($no,$max = 15) {
    $no = str_pad("1", strlen(substr(strrchr($no, "."), 1)), "0", STR_PAD_RIGHT) * $no;
    if(strpos($no, "."))
        $no = str_replace(".", "", $no) . "0" ;
    return str_pad($no, $max, "0", STR_PAD_LEFT);
}

出力

string '000000000000012' (length=15)
string '000000000001235' (length=15)
string '000001233782010' (length=15)
于 2012-10-09T13:30:43.377 に答える
2

http://php.net/manual/en/function.str-pad.phpを参照してくださいstr_pad()

于 2012-10-09T13:30:56.253 に答える
1
string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )

この関数は、左側、右側、または両側にパディングされた入力文字列を、指定されたパディング長に戻します。オプションの引数pad_stringが指定されていない場合、入力にはスペースが埋め込まれます。それ以外の場合は、pad_stringから制限までの文字が埋め込まれます。

input

入力文字列。

pad_length

pad_lengthの値が負の場合、入力文字列の長さ以下の場合、パディングは行われません。

pad_string

必要なパディング文字数をpad_stringの長さで均等に除算できない場合、pad_stringは切り捨てられる可能性があります。

pad_type

オプションの引数pad_typeは、STR_PAD_RIGHT、STR_PAD_LEFT、またはSTR_PAD_BOTHにすることができます。pad_typeが指定されていない場合は、STR_PAD_RIGHTであると見なされます。

于 2012-10-09T13:33:00.863 に答える
1
    sprintf(); 

php.net のphp マニュアルsprintf() 関数を確認してください

一緒にprintf()仕事をすることができます。上記のリンクの例 7 を確認してください。

于 2012-10-09T13:36:40.937 に答える