我正在一个工作委员会上工作,它允许用户发布一个太,并从像这样的帖子中得到的薪水,
$_POST['sal_from']
和$_POST['sal_to']
这个帖子来自第三方,所以很遗憾我不确定验证是什么,但是让我们假设这个数字必须始终是数千。
用户会提交类似从 - 10000到 - 20000 的东西,我想要以某种方式将该数字转换为 2 位数表示,然后显示一个范围,因此上面的内容将显示为>10k-20k。
这是否可能,我可以弄清楚如何,理想情况下我需要注意以下范围,
- 10K-20K
- 20K-25K
- 25K-30K
- 30K-35K
- 40k+
有什么想法吗?
> 使用round()
函数,您还可以指定负精度值。因此,您可以指定-1作为精度值,以舍入到最接近的 Tens。
您可以使用如下所示的函数将数字转换为缩写字符串。
function convertFormat($value) {
if ($value > 1000000000000) {
$value = round($value / 1000000000000, -1) . 'T';
} elseif ($value > 1000000000) {
$value = round($value / 1000000000, -1) . 'B';
} elseif ($value > 1000000) {
$value = round($value / 1000000, -1) . 'M';
} elseif ($value > 1000) {
$value = round($value / 1000, -1) . 'K';
} else {
$value = round($value);
}
return $value;
}
现在,您可以在$_POST['sal_from']
上运行此函数,并分别$_POST['sal_to']
,以获取范围。