答案 0 :(得分:0)
你的意思是,这样的事情?这将能够转换成千上万,等等。
<?php
$s = "12.2K";
if (strpos(strtoupper($s), "K") != false) {
$s = rtrim($s, "kK");
echo floatval($s) * 1000;
} else if (strpos(strtoupper($s), "M") != false) {
$s = rtrim($s, "mM");
echo floatval($s) * 1000000;
} else {
echo floatval($s);
}
?>
答案 1 :(得分:0)
$result = str_ireplace(['.', 'K'], ['', '00'], '12.2K');
您也可以通过其他字母等扩展它。
答案 2 :(得分:0)
<?php
$number = '12.2K';
if (strpos($number, 'K') !== false)
{
$number = rtrim($number, 'K') * 1000;
}
echo $number
?>
基本上,您只想检查字符串是否包含某个字符,如果是,请将其取出并将其乘以1000来响应。
答案 3 :(得分:0)
另一种方法是在数组中使用缩写,并使用幂来计算要乘以的数字
如果你有很多缩写,这会给出一个更短的代码
我使用strtoupper确保它与k
和K
匹配。
$arr = ["K" => 1 ,"M" => 2, "T" => 3]; // and so on for how ever long you need
$input = "12.2K";
if(isset($arr[strtoupper(substr($input, -1))])){ //does the last character exist in array as an key
echo substr($input,0,-1) * pow(1000, $arr[strtoupper(substr($input, -1))]); //multiply with the power of the value in array
// 12.2 * 1000^1
}else{
echo $input; // less than 1k, just output
}