我现在正在工作板上工作,允许用户发布这样的帖子,并且使用类似POST的薪水,
{
"message": {
"attachments": [
{
"name": "googleImage.jpg",
"mimeType": "image/jpg"
}
],
"messageBody": "Hello World! - Test Attachments",
"subjectLine": "Test message - 0927T09:58",
"messageID": "",
"toAddress": "some reqd value"
}
}
和$_POST['sal_from']
,该POST来自第三方,可悲的是,我不确定验证的内容,但是假设该数字必须始终为数千。
用户将提交-10000到-20000之类的东西,我想要以某种方式将该数字转换为2位数表示形式,然后显示一个范围,因此上面显示为> 10k-20k。
有可能吗,我可以弄清楚,理想情况下,我需要注意以下范围,
有什么想法吗?
答案 0 :(得分:3)
使用round()
函数,您还可以指定负精度值。因此,您可以指定 -1 作为精度值,以四舍五入到最接近的十位数。
您可以使用下面的函数将数字转换为缩写字符串。
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']
上运行此功能,以获取范围。