当前位置: 首页 > 面试题库 >

缩短长号到K / M / B吗?

百里锋
2023-03-14
问题内容

我已经在Google上进行了很多搜索,但根据查询找不到任何有用的功能。

我想要的是:

100 -> 100
1000 -> 1,000
142840 -> 142,840

2023150 -> 2.023M ( i still want 3 additional numbers for more accuracy )
5430120215 -> 5.430B

如果可以的话,我非常感谢任何自定义函数可以动态选择限制。

谢谢!


问题答案:

用途number_format()

if ($n < 1000000) {
    // Anything less than a million
    $n_format = number_format($n);
} else if ($n < 1000000000) {
    // Anything less than a billion
    $n_format = number_format($n / 1000000, 3) . 'M';
} else {
    // At least a billion
    $n_format = number_format($n / 1000000000, 3) . 'B';
}

如果可以的话,我非常感谢任何自定义函数可以动态选择限制。

如果“限制”是指小数位数(精度),则很简单:

function custom_number_format($n, $precision = 3) {
    if ($n < 1000000) {
        // Anything less than a million
        $n_format = number_format($n);
    } else if ($n < 1000000000) {
        // Anything less than a billion
        $n_format = number_format($n / 1000000, $precision) . 'M';
    } else {
        // At least a billion
        $n_format = number_format($n / 1000000000, $precision) . 'B';
    }

    return $n_format;
}


 类似资料:
  • 我正在使用AWS创建一个签名URL,以便我可以安全地将此URL传递给另一个API以供临时使用。签名URL指向S3资源。问题是其他API不接受如此长的链接。因此我正在尝试缩短它。我尝试使用goo.gl或bit.ly之类的缩短器,但无济于事,因为URL对他们来说太长了。我甚至使用AWS构建了自己的私人缩短器(AWS url缩短器),但它有同样的问题:“网站重定向位置的长度不能超过2,048个字符。”。

  • 我有一个字符串: 它需要缩短,所以看起来像这样: 所以基本上,它需要使用所有重复的字符,并写下它们重复的次数,而不是打印它们。我设法做到了一半: 但这只适用于重复的字符,而不是模式。我可以通过在字符串中找到ab模式来做到这一点,但这需要对每一个可能的字符串都是可行的。有人遇到过类似的事情吗?

  • 一直让我抓狂的是发现一个简单的东西:Swift中的字符串长度。 否,不能使用 因为endIndex不是Int并且不能转换为in。这整件事快把我逼疯了,我不知道该怎么办。任何帮助都将不胜感激!

  • 描述 (Description) 方法strptime()根据格式解析表示时间的字符串。 返回值是gmtime()或localtime()返回的struct_time。 format参数使用与strftime()使用的指令相同的指令; 它默认为“%a%b%d%H:%M:%S%Y”,它与ctime()返回的格式匹配。 如果无法根据格式解析字符串,或者解析后它有多余的数据,则会引发ValueError

  • 我以前可以在我的项目中运行我的程序。但是是什么使命令行变长呢?命令行上放的到底是什么?

  • 本节将介绍另一种常用的门控循环神经网络:长短期记忆(long short-term memory,LSTM)[1]。它比门控循环单元的结构稍微复杂一点。 长短期记忆 LSTM 中引入了3个门,即输入门(input gate)、遗忘门(forget gate)和输出门(output gate),以及与隐藏状态形状相同的记忆细胞(某些文献把记忆细胞当成一种特殊的隐藏状态),从而记录额外的信息。 输入门