PHP 度量前缀

180it 2020-10-01 PM 1618℃ 0条

/**

  • 数字转度量
    *
  • @param int $num 数字
  • @param int $precision 小数位数
  • @return string|int
    */

function num2metric($num, $precision = 0) {

$unitList = [
    'P' => 15,
    'T' => 12,
    'G' => 9,
    'M' => 6,
    'W' => 4,
    'K' => 3,
];

$num = (int) $num;

foreach($unitList as $name => $pow) {
    $size = pow(10, $pow);

    if($num >= $size) {
        return bcdiv($num, $size, $precision) . $name;
    }
}

return $num;

}

num2metric(1000) // 1K
num2metric('10000') // 1W
num2metric('A') // 0

度量单位列表
Text Symbol Power
yotta Y 1024
zetta Z 1021
exa E 1018
peta P 1015
tera T 1012
giga G 109
mega M 106
kilo K 103
W 并非国际度量单位,是由中文 万 拼音转换而成的

参考
Metric prefix

支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

标签: none

PHP 度量前缀