w3resource

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?



JavaScript: Tips of the Day

JavaScript: Implicit type coercion

function sum(a, b) {
  return a + b;
}

sum(1, '2');

JavaScript is a dynamically typed language: we don't specify what types certain variables are. Values can automatically be converted into another type without you knowing, which is called implicit type coercion. Coercion is converting from one type into another.

In this example, JavaScript converts the number 1 into a string, in order for the function to make sense and return a value. During the addition of a numeric type (1) and a string type ('2'), the number is treated as a string. We can concatenate strings like "Hello" + "World", so what's happening here is "1" + "2" which returns "12".

Ref: https://bit.ly/323Y0P6