-
Notifications
You must be signed in to change notification settings - Fork 0
/
Finance.js
42 lines (33 loc) · 1.14 KB
/
Finance.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
function getRawNumber(abbreviatedNumber) {
const regex = /^(\d*[\.,]?\d*)([KMB])$/;
const match = regex.exec(abbreviatedNumber);
if (!match) return null;
const numberPart = parseFloat(match[1]);
const suffix = match[2];
let multiplier;
switch (suffix) {
case 'K':
multiplier = 1000;
break;
case 'M':
multiplier = 1000000;
break;
case 'B':
multiplier = 1000000000;
break;
default:
return null;
}
return numberPart * multiplier;
}
function CalculateRevenue(views){
const averageRPM = 4;
const revenue = (views / 1000) * averageRPM;
return revenue.toFixed(2);
}
document.addEventListener("DOMContentLoaded", (e) => {
const viewcount = document.getElementById("view_count").innerText;
const numericViewCount = getRawNumber(viewcount);
document.getElementById("finance_revenue").innerText = new Intl.NumberFormat('en-US', { notation: "compact", compactDisplay: "short" }).format(CalculateRevenue(numericViewCount));
document.getElementById("finance_revenue").innerText += "€"
});