我有一个数字列表,范围从像51和102这样的好数字。当它超过一千时,它将其写为2,012或9,216。当它超过一万时它写成24.1k,87.9k。当它超过100万时,写入为1.4米或142.5米。
问题是我不知道如何将此转换为可读数字。例如,142.5m应该是142500000。 作为我尝试使用它的第一步:
function cleanPrice($pris)
{
return preg_replace('/\D/', '', $pris);
}
cleanPrice($pris);
它并没有太顺利。我试图摆脱,和。和m和k。但无处可去。
有什么功能或内置到PHP中的东西吗?我知道number_format存在,但它只有一种方式,这种方式可悲的是我想要走错路
答案 0 :(得分:1)
function cleanPrice($pris) {
$last = substr($pris, strlen($pris)-1);
switch($last) {
case "k": $scale = 1000; break;
case "m": $scale = 1000000; break;
default: $scale = 1;
}
return preg_replace('/[^-0-9.]/', '', $pris) * $scale;
}