在我的数据库中,我有一个Int形式的属性值存储。它们的价格从1000美元到100,000,000美元不等。如何创建一个可以将此信息分解为符号化文本/小数形式的函数。
例如
1,300,000将变为130万
250,000将变为250,000
10,300,000将变为1030万
我想要的是英文相当于长数
关于从哪里开始的任何想法?
答案 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