Skip to content

Instantly share code, notes, and snippets.

@rafasashi
Created September 1, 2018 15:25
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rafasashi/bbf3cf39997b3680497150d504a39f3b to your computer and use it in GitHub Desktop.
Save rafasashi/bbf3cf39997b3680497150d504a39f3b to your computer and use it in GitHub Desktop.
Here comes a PHP function to format numbers to nearest thousands such as Kilos, Millions, Billions, and Trillions with comma https://code.recuweb.com/2018/php-format-numbers-to-nearest-thousands/
function thousandsCurrencyFormat($num) {
if( $num > 1000 ) {
$x = round($num);
$x_number_format = number_format($x);
$x_array = explode(',', $x_number_format);
$x_parts = array('k', 'm', 'b', 't');
$x_count_parts = count($x_array) - 1;
$x_display = $x;
$x_display = $x_array[0] . ((int) $x_array[1][0] !== 0 ? '.' . $x_array[1][0] : '');
$x_display .= $x_parts[$x_count_parts - 1];
return $x_display;
}
return $num;
}
@rafasashi
Copy link
Author

Output

 thousandsCurrencyFormat(3000); // 3k
 thousandsCurrencyFormat(35500); // 35.5k
 thousandsCurrencyFormat(905000); // 905k
 thousandsCurrencyFormat(5500000); // 5.5m
 thousandsCurrencyFormat(88800000); // 88.8m
 thousandsCurrencyFormat(745000000); // 745m
 thousandsCurrencyFormat(2000000000); // 2b
 thousandsCurrencyFormat(22200000000); // 22.2b
 thousandsCurrencyFormat(1000000000000); // 1t (1 trillion)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment