w3resource
JavaScript Exercises

JavaScript: Formats a number to a human-readable string

JavaScript String: Exercise-15 with Solution

Write a JavaScript function to humanized number (Formats a number to a human-readable string.) with the correct suffix such as 1st, 2nd, 3rd or 4th.

Test Data:
console.log(humanize_format());
console.log(humanize_format(1));
console.log(humanize_format(8));
console.log(humanize_format(301));
console.log(humanize_format(402));
"1st"
"8th"
"301st"
"402nd"

Sample Solution:-

HTML Code:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Formats a number to a human-readable string </title>
</head>
<body>
</body>
</html>

JavaScript Code:

humanize_format = function humanize(num) {
   if(typeof(num) == "undefined") return;
  if(num % 100 >= 11 && num % 100 <= 13)
        return num + "th";
        
        switch(num % 10) {
            case 1: return num + "st";
            case 2: return num + "nd";
            case 3: return num + "rd";
        }
        return num + "th";
    }
console.log(humanize_format());  
console.log(humanize_format(1));  
console.log(humanize_format(8));  
console.log(humanize_format(301));  
console.log(humanize_format(402)); 
 

Sample Output:

undefined
1st
8th
301st
402nd

Flowchart:

Flowchart: JavaScript- Formats a number to a human-readable string

Live Demo:

See the Pen JavaScript Formats a number to a human-readable string - string-ex-15 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript function to insert a string within a string at a particular position (default is 1).
Next: Write a JavaScript function to truncate a string if it is longer than the specified number of characters.

What is the difficulty level of this exercise?