0

私は値を持っていて、$title =10それをマイナスしたいので01、私のコードは次のとおりです。

echo  $minus = round(($title - 01),2);

結果が欲しいのです$minus = 09が、このコードはこれとは異なり、まだ結果があり$minus=9ます。誰でも私を助けてください、ありがとう。

4

5 に答える 5

0

これを試して..

$i=04-01;
echo sprintf('%02s', $i);  
于 2013-01-11T03:46:00.727 に答える
0
echo str_pad(intval($title) - 1, 2, "0", STR_PAD_LEFT);

これにより、結果が 1 桁のみの場合、結果が 0 で埋められます。そうでない場合、パディングされません。常に先行ゼロの場合、2 を次のように置き換えることができます。strlen($title)

于 2013-01-11T03:44:30.467 に答える
0

PHP は、接頭辞が 0 の数字を基本値に評価しています。04 と 01 は、それぞれ 4 と 1 です。

先頭に 0 を付けて出力する場合は、数値フォーマッタまたは文字列パディングを使用するか、単純に文字列「0」に追加してみてください

于 2013-01-11T03:43:05.877 に答える
0

何が起こっているかというと、round() が整数を返すということです。これは、その前に 0 がないことを意味します。その前に0を返したい場合は、試してください

str_pad (round(($title - 1), 2), 2, "0");

これにより、数値が1つのみの場合は常に数値の前に0が追加されますが、10または15などの場合は0が追加されません

于 2013-01-11T03:44:23.987 に答える
0

問題は、PHP が強く型付けされておらずround()、自動的に先頭のゼロが取り除かれた数値を返すことです。試す:

$minus = "0" . round(($title - 01),2);
于 2013-01-11T03:41:48.363 に答える