在我的数据库中,我以 Int 形式存储了属性值。它们的价格从 1000 美元到 100,000,000 美元不等。我将如何创建一个可以将此信息分解为符号化文本/十进制形式的函数。
例如
1,300,000 将变为 130 万
250,000 将变为 250,000
10,300,000 将变为 1030 万
我想要得到的是长号的英文等价物
关于从哪里开始的任何想法?
从这里开始:
$x = 1300000;
$text = ($x / 1000000) . ' Million';
然后,检测源数字中的位数,以检查除以千还是一百万更有意义。
然后,除了除,还要四舍五入,所以 1,387,238 转换为 140 万,而不是 138.7238 万。
我曾经使用过类似的东西:
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