我有一个数据库,其中有一列包含各种以“速记”形式书写的数字,例如:
5000 人需要 5000 人
86,600 为 86.6k
4.1m 4,100,000
1.2b 为 1,200,000,000
我想对 PHP 前端的这些数字进行一些计算,但我需要将它们转换为有效的整数才能执行此操作。我如何使用 PHP 执行此操作?
最佳答案
如果这是你的数据格式,并且是一致的。 你可以编写自己的函数。 创建一个后缀映射到乘数.. "k"=> 1000, "m"=> 100000
并将整数值乘以乘数。 这是一个基于 sscanf 的解决方案:http://codepad.org/FjwBbx1D
<?php
$map = array("k" => 1000,"m" => 1000000,"b" => 1000000000);
$money = "86.6k";
list($value,$suffix) = sscanf($money, "%f%s");
$final = $value*$map[$suffix];
var_dump($final);
?>
这是一个简单的衬垫:
<?php
$money = "86.6k";
$value = substr($money,0,-1)*pow(10,strpos("---k--m--b",substr($money,-1))) ;
var_dump($value);
?>
关于php - 使用 PHP 将数字缩写(5.2k、1.7m 等)转换为有效整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5467694/