0

我有 as 的值$title =10,我想用 减去它01。所以我的代码是:

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

我想要结果$minus = 09,但这段代码不像这样它仍然有结果$minus=9。请任何人帮助我,谢谢。

4

5 回答 5

0

问题是 PHP 不是强类型的,它round()返回一个数字,它会自动去除前导零。尝试:

$minus = "0" . round(($title - 01),2);
于 2013-01-11T03:41:48.363 回答
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
echo str_pad(intval($title) - 1, 2, "0", STR_PAD_LEFT);

如果结果只有一位,这将用 0 填充您的结果;否则,它不会填充。对于前导零,您可以将 2 替换为strlen($title)

于 2013-01-11T03:44:30.467 回答
0

试试这个..

$i=04-01;
echo sprintf('%02s', $i);  
于 2013-01-11T03:46:00.727 回答