【发布时间】:2014-04-25 07:43:39
【问题描述】:
所以我想显示一个计数器,每个字符都包含在一个标签中,并添加一个千位分隔符。
数字必须至少为 3 个字符长。
案例 1:
我拿了一个号码12
代码:
$number = 12 //number 12
$number = number_format($number, 0, '', ','); //add a thousand seprator
$number = str_pad($number,3,0,STR_PAD_LEFT); //pad if length less than 3
$counter = "";
foreach (str_split($number) as $key => $digit) {
$counter .= '<b>' . $digit . '</b>';
}
输出:012(忽略<b>标签)
案例 2:
我拿了一个号码1234
代码:
$number = 1234 //number 1234
$number = number_format($number, 0, '', ','); //add a thousand seprator
$number = str_pad($number,3,0,STR_PAD_LEFT); //pad if length less than 3
$counter = "";
foreach (str_split($number) as $key => $digit) {
$counter .= '<b>' . $digit . '</b>';
}
输出:1,234(忽略<b>标签)
案例 3:
我拿了一个号码0012
代码:
$number = 0012 //number 0012
$number = number_format($number, 0, '', ','); //add a thousand seprator
$number = str_pad($number,3,0,STR_PAD_LEFT); //pad if length less than 3
$counter = "";
foreach (str_split($number) as $key => $digit) {
$counter .= '<b>' . $digit . '</b>';
}
输出:010(忽略<b>标签)
那么案例3出了什么问题?
更新:
如何避免这种情况?
【问题讨论】:
-
0012是不是小数。它被解释为记录的八进制表示法。 -
@arkascha 嗯,它是一个整数。八进制整数... :)
标签: php number-formatting