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

将数字格式转换为缩写数字

蔺山
2023-03-14
问题内容

我有一个数据库,其中的列包含数字格式的值,例如:

5,000 for 5k

86,600 for 86.6k

4,100,000 for 4.1m

在浏览器中显示时,它应该显示5k表示5000,86.6k表示86600等。我需要php中的代码。如果有任何内置函数可以执行此操作,请提及它。


问题答案:

如果将它们作为数字,则可以直接使用此功能。

function formatValue($size, $precision = 1)
{
    static $suffixes = array('', 'k', 'm');
    $base = log($size) / log(1000);

    return round(pow(1000, $base - floor($base)), $precision) . $suffixes[floor($base)];
}

如果您没有数字,请使用PHP:取消格式化

对于您的特殊情况,您可能会使用一些肮脏的技巧,但是如果您有其他特殊情况,我不建议您这样做。

function formatValue($size, $precision = 1)
{
    static $suffixes = array('', 'k', 'm');
    $base = log($size) / log(1000);

    if ($base >= 5/3 && $base < 2) {
        return round(pow(1000, $base - floor($base)) / 100, $precision) . 'lakh';
    }

    return round(pow(1000, $base - floor($base)), $precision) . $suffixes[floor($base)];
}


 类似资料:
  • 问题内容: 我想将数组转换为JSON格式。这是我的来源: 这是我想要的期望结果: 首先,我将字节转换为字符串: 但是当我尝试加载到JSON时: 我收到此错误: 问题答案: 您的对象 几乎 是JSON,但是它使用单引号而不是双引号,并且它必须是字符串。因此,解决该问题的一种方法是解码to 并替换引号。另一种选择是使用; 有关详情,请参见下文。如果要打印结果或将其作为有效JSON保存到文件中,则可以将

  • 我需要将长数据格式(long)转换为宽格式(wide),条件如下(如果可能): 1) 所有数据文件都将是具有相同结构(id、名称、值)的长格式(long),但每个数据文件将具有不同的变量、值和变量数: 2) 每个数据文件将是不同的变量混合物(因子、整数、数字)。有些因素可能每个案例都有多个级别(从长远来看是水果和肉),我想为这些因素中的每个级别创建一个单独的虚拟变量(逻辑)。因子和数值变量的数量将

  • 所以基本上我有一个秒数的值,我想用ISO8601格式表示。 例如: 90秒将表示为T1M30 到目前为止,我已经做了以下工作: 这样的输出是: TH0M0S90 最终构建了这个函数,该函数似乎生成了我需要的值(但它仅限于一天以下的时间: 谢啦

  • 现在我一直在试图找到一个应该可行的解决办法,但由于某种原因,它并不奏效。请参阅下一段代码: 我会很感激任何能证明结果的帮助。多谢了。

  • 本文向大家介绍VBA 使用格式将数字类型转换为字符串并将其格式化为字符串,包括了VBA 使用格式将数字类型转换为字符串并将其格式化为字符串的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 我正在使用节点的libphonenumber库。js 在这个库的google演示中,如果我输入了无效的电话号码,则不会填充intl格式。但当我试图通过node解析一个无效的数字时。js库,它创建intl字符串表示形式,而不管该数字是否有效。 我需要确保只转换有效的数字,而invalids返回null。 举个例子,考虑一下: 输出 如何确保只返回有效的?