将K格式的数千个转换为常规的千种格式

时间:2018-06-18 08:16:52

标签: php number-formatting

我有以下格式给我的号码:

12.2K

我希望将此数字转换为显示:

12200

examples ive seen转换为K格式,但我想从K格式转换。

有一种简单的方法吗?

谢谢!

4 个答案:

答案 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确保它与kK匹配。

$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
}

https://3v4l.org/LXVXN