format thousand to K

by oktaviardi pratama

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.min.js"></script>
<h1 class="display">
1000 converted to 1K
</h1>

JavaScript

// converts number to string representation with K and M.
// toFixed(d) returns a string that has exactly 'd' digits
// after the decimal place, rounding if necessary.
/* function numFormatter(num) {
    if(num > 999 && num < 1000000){
        return (num/1000).toFixed(0) + 'K'; // convert to K for number from > 1000 < 1 million 
    }else if(num > 1000000){
        return (num/1000000).toFixed(0) + 'M'; // convert to M for number from > 1 million 
    }else if(num < 900){
        return num; // if value < 1000, nothing to do
    }
}
console.log(numFormatter(1000))
 */

 function nFormatter(num, decimal=1) {
    if (num > 999999999 && num < 9950000000) {
      return (num / 1000000000).toFixed(3) + 'B';
    }
    if (num >= 1000000000) {
      return (num / 1000000000).toFixed(decimal).replace(/\.0$/, '') + 'B';
    }
    if (num > 999999 && num < 9950000) {
      return (num / 1000000).toFixed(3) + 'M';
    }
    if (num >= 1000000) {
      return (num / 1000000).toFixed(decimal).replace(/\.0$/, '') + 'M';
    }
    if (num > 999 && num < 9950) {
      return (num / 1000).toFixed(3) + 'K';
    }
    if (num > 999 && num <= 1000000) {
      return (num / 1000).toFixed(decimal).replace(/\.0$/, '') + 'K';
    }
    return num;
  }
  
  
  function nominalAbbreviation(num, decimal=1) {
    if (num > 999999999 && num < 10000000000) {
    	return slicingNominal('B', num, 2, 1000000000);
    }
    if (num >= 1000000000) {
    	return slicingNominal('B', num, decimal, 1000000000);
    }
    if (num > 999999 && num < 10000000) {
    	return slicingNominal('M', num, 2, 1000000);
    }
    if (num >= 1000000) {
    	return slicingNominal('M', num, decimal, 1000000);
    }
    if (num > 999 && num < 10000) {
      return slicingNominal('K', num, 2, 1000)
    }
    if (num > 999 && num < 1000000) {
      return slicingNominal('K', num, decimal, 1000)
    }
    return num;
  }
  
  function slicingNominal (type='K',num=0, decimal=0, digit=1000) {
    let nominal=0
    let...