私は値を持っていて、$title =10
それをマイナスしたいので01
、私のコードは次のとおりです。
echo $minus = round(($title - 01),2);
結果が欲しいのです$minus = 09
が、このコードはこれとは異なり、まだ結果があり$minus=9
ます。誰でも私を助けてください、ありがとう。
私は値を持っていて、$title =10
それをマイナスしたいので01
、私のコードは次のとおりです。
echo $minus = round(($title - 01),2);
結果が欲しいのです$minus = 09
が、このコードはこれとは異なり、まだ結果があり$minus=9
ます。誰でも私を助けてください、ありがとう。
これを試して..
$i=04-01;
echo sprintf('%02s', $i);
echo str_pad(intval($title) - 1, 2, "0", STR_PAD_LEFT);
これにより、結果が 1 桁のみの場合、結果が 0 で埋められます。そうでない場合、パディングされません。常に先行ゼロの場合、2 を次のように置き換えることができます。strlen($title)
何が起こっているかというと、round() が整数を返すということです。これは、その前に 0 がないことを意味します。その前に0を返したい場合は、試してください
str_pad (round(($title - 1), 2), 2, "0");
これにより、数値が1つのみの場合は常に数値の前に0が追加されますが、10または15などの場合は0が追加されません
問題は、PHP が強く型付けされておらずround()
、自動的に先頭のゼロが取り除かれた数値を返すことです。試す:
$minus = "0" . round(($title - 01),2);