Merge branch 'feat/inda-383-daily-stat' into 'main'
[ProtonMail-WebClient.git] / packages / utils / withDecimalPrecision.ts
blobb4047997c1a3f71dc35a8e67ce9b3d66f54f3bce
1 /**
2  * Round a number, x, to a certain number, n, of decimal places.
3  * If n < 0, keep the significative digits up to 10 ** (-n)
4  */
5 export default function withDecimalPrecision(x: number, n: number) {
6     // assume n is an integer. Round to integer otherwise
7     const powerOfTen = 10 ** Math.round(n);
8     if (powerOfTen > Number.MAX_VALUE) {
9         return x;
10     }
11     if (powerOfTen < Number.MIN_VALUE) {
12         return 0;
13     }
14     return Math.round(x * powerOfTen) / powerOfTen;