# JavaScript - Calculating a number's percentage value tutorial

The JavaScript `Math` object doesn’t have any built-in method to calculate the percentage of a number, so if you want to find out the percentage of a specific number, you need to create your own custom function.

For example, the code below will find what 20% of 250 is using the `calcPercent()` function:

``````const percentVal = calcPercent(250, 20);
console.log(percentVal); // 50
``````

To write the `calcPercent()` code, we need to first understand the formula to calculate the percentage number.

To find 20% of 250, you need to divide `20` by 100 and then multiply it by `250`:

``````const num = 250;
const percentage = 20;
const percentVal = 250 * (20 / 100);
console.log(percentVal); // 50
``````

Now that you know the formula for calculating percentages, you can extract the code as a helper function:

``````function calcPercent(num, percentage){
return num * (percentage / 100);
}
``````

Now you can call the helper function `calcPercent()` anytime you need to calculate a number’s percentage value:

``````function calcPercent(num, percentage){
return num * (percentage / 100);
}

let percentVal = calcPercent(250, 20);
console.log(percentVal); // 50
percentVal = calcPercent(210, 10);
console.log(percentVal); // 21
``````

## Rounding the result to 2 decimals

Sometimes, a percentage calculation may return a floating number as follows:

``````const percentVal = calcPercent(20, 3.33);
console.log(percentVal); // 0.666
``````

If you need to round the number to 2 decimals, then you can use a combination of `toFixed()` and `parseFloat()` methods to return the number in 2-decimal format.

Here’s the full function code:

``````function calcPercent(num, percentage){
const result = num * (percentage / 100);
return parseFloat(result.toFixed(2));
}

const percentVal = calcPercent(20, 3.33);
console.log(percentVal); // 0.67
``````

Instead of returning `0.666`, the function will return `0.67` because it rounds the decimal numbers to a maximum length of two.

### Take your skills to the next level ⚡️

I'm sending out an occasional email with the latest tutorials on programming, web development, and statistics. Drop your email in the box below and I'll send new stuff straight into your inbox!

No spam. Unsubscribe anytime.