用php将数字放入范围内

时间:2018-10-01 18:54:38

标签: php

我现在正在工作板上工作,允许用户发布这样的帖子,并且使用类似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。

有可能吗,我可以弄清楚,理想情况下,我需要注意以下范围,

  • 10k-20k
  • 20k-25k
  • 25k-30k
  • 30k-35k
  • 40k +

有什么想法吗?

1 个答案:

答案 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']上运行此功能,以获取范围。