PHP创建一个缩小大数到基于英文等价名称的小数的函数

时间:2012-09-12 21:58:38

标签: php function numbers

在我的数据库中,我有一个Int形式的属性值存储。它们的价格从1000美元到100,000,000美元不等。如何创建一个可以将此信息分解为符号化文本/小数形式的函数。

例如

1,300,000将变为130万

250,000将变为250,000

10,300,000将变为1030万

我想要的是英文相当于长数

关于从哪里开始的任何想法?

2 个答案:

答案 0 :(得分:1)

从这里开始:

$x = 1300000;
$text = ($x / 1000000) . ' Million';

然后,检测源编号中的位数,以检查划分千位或百万位更有意义。

然后,除了划分,也围绕数字,所以1,387,238被翻译为140万而不是1.387238百万。

答案 1 :(得分:1)

我曾经使用过类似的东西:

function abbNumber($var)
{
    if(($var/1000000000)>1)
    {
        $retVal=round($var/1000000000,1).' hundred million';
    }
    else if(($var/1000000)>1)
    {
        $retVal=round($var/1000000,1).' million';
    }
    else if(($var/1000)>1)
    {
        $retVal=round($var/1000,1).' thousand';
    }
    else
    {
        $retVal=$var;
    }
    return $retVal;
}

echo abbNumber(5234000);

?>
// 5.2 million

echo abbNumber(5234000000);
5.2 hundred million
echo abbNumber(523400000);
523.4 million
echo abbNumber(523400);
523.4 thousand
echo abbNumber(5.234);
5.234