0

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

例如

1,300,000 将变为 130 万

250,000 将变为 250,000

10,300,000 将变为 1030 万

我想要得到的是长号的英文等价物

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

4

2 回答 2

1

从这里开始:

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

然后,检测源数字中的位数,以检查除以千还是一百万更有意义。

然后,除了除,还要四舍五入,所以 1,387,238 转换为 140 万,而不是 138.7238 万。

于 2012-09-12T22:04:04.590 回答
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
于 2012-09-12T22:05:14.423 回答