Number Human Readable Prettifier

JS
S
JavaScript

Pretiffier function for numbers

1const a = (value) => {
2    const processedValue = {};
3    // processedValue.fullValue = value;
4    // if (value >= 1e3 || value <= -1e3) {
5      const units = ['k', 'M', 'B', 'T'];
6      const unit = Math.floor((Number(value).toFixed(0).length - 1) / 3) * 3;
7      const scaledValue = (value / Number(('1e' + unit)));
8    //   processedValue.scaledValue = (value / Number(('1e' + unit)));
9      processedValue.smart3 = autoRound(scaledValue);
10      // const numberOfDigitsBeforeDecimal = Math.floor(Math.log(processedValue.fullValue) / Math.LN10 + 1);
11      processedValue.unitname = units[Math.floor(unit / 3) - 1];
12    // }
13    // var autoround = autoRound(value);
14    // processedValue.percentualValue = autoRound(value*100);
15    return processedValue;
16  }
17function autoRound(value) {
18      if (value >= 1e2 || value <= -1e2) {
19      return roundTo(value,0);
20    }
21    if (value >= 1e1 || value <= -1e1) {
22      return roundTo(value,1);
23    }
24    if (value >= 1e0 || value <= -1e0) {
25      return roundTo(value,2);
26    }
27    if (value < 1 && value > -1) {
28      return roundTo(value,2);
29    }
30}
31function roundTo(num,scale) {    
32    return +(Math.round(num + "e+" + scale)  + "e-" + scale);
33}
34console.log(a(1000000000));
35/*
36console.log("-----------------------------");
37console.log("-----------------------------");
38console.log(a(0.23456789));
39console.log("-----------------------------");
40console.log("-----------------------------");
41console.log(a(1.34567890));
42console.log("-----------------------------");
43console.log("-----------------------------");
44console.log(a(1));
45console.log("-----------------------------");
46console.log("-----------------------------");
47console.log(a(20));
48console.log("-----------------------------");
49console.log("-----------------------------");
50console.log(a(20.3456789098765));
51console.log("-----------------------------");
52console.log("-----------------------------");
53console.log(a(312));
54console.log("-----------------------------");
55console.log("-----------------------------");
56console.log(a(313.45678909876));
57console.log("-----------------------------");
58console.log("-----------------------------");
59console.log(a(4139));
60console.log("-----------------------------");
61console.log("-----------------------------");
62console.log(a(4139.4567890));
63console.log("-----------------------------");
64console.log("-----------------------------");
65console.log(a(54139));
66console.log("-----------------------------");
67console.log("-----------------------------");
68console.log(a(54139.4567890));
69console.log("-----------------------------");
70console.log("-----------------------------");
71console.log(a(654139));
72console.log("-----------------------------");
73console.log("-----------------------------");
74console.log(a(654139.4567890));
75console.log("-----------------------------");
76console.log("-----------------------------");
77console.log(a(7654139));
78console.log("-----------------------------");
79console.log("-----------------------------");
80console.log(a(7654139.4567890));
81console.log("-----------------------------");
82console.log("-----------------------------");
83console.log(a(87654139));
84console.log("-----------------------------");
85console.log("-----------------------------");
86console.log(a(87654139.4567890));
87console.log("-----------------------------");
88console.log("-----------------------------");
89console.log(a(97654139));
90console.log("-----------------------------");
91console.log("-----------------------------");
92console.log(a(97654139.4567890));
93console.log("-----------------------------");
94console.log("-----------------------------");
95console.log(a(107654139));
96console.log("-----------------------------");
97console.log("-----------------------------");
98console.log(a(107654139.4567890));
99console.log("-----------------------------");
100console.log("-----------------------------");
101console.log(a(1000000000));
102console.log("-----------------------------");
103console.log("-----------------------------");
104console.log(a(1107654139));
105console.log("-----------------------------");
106console.log("-----------------------------");
107console.log(a(1107654139.4567890));
108console.log("-----------------------------");
109console.log("-----------------------------");
110console.log(a(12000000000));
111console.log("-----------------------------");
112console.log("-----------------------------");
113console.log(a(12107654139));
114console.log("-----------------------------");
115console.log("-----------------------------");
116console.log(a(12107654139.4567890));
117console.log("-----------------------------");
118console.log("-----------------------------");
119*/
120
121// Another example using ECMAScript Internationalisation API 
122new Intl.NumberFormat('pt-PT', {
123  notation: "compact",
124  compactDisplay:  "short",
125maximumFractionDigits:1
126}).format(0.399);

Created on 8/2/2019