blob: 04d3ad00ea6a84dac83c4c04c6d5325a178638e5 (
plain)
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
43
44
45
46
47
|
/**
* Convert a number to fr_FR locale.
* @param {Number} number A number to format.
* @returns A number formatted with fr_FR locale.
*/
const getCurrencyFR = (number) => {
const formatted =
Number.parseFloat(number)
.toFixed(2)
.replace(".", ",")
.replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1 ") + " €";
return formatted;
};
/**
* Convert a number to en_US locale.
* @param {Number} number A number to format.
* @returns A number formatted with en_US locale.
*/
const getCurrencyUS = (number) => {
const formatted =
"$" +
Number.parseFloat(number)
.toFixed(2)
.replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,");
return formatted;
};
/**
* Get a number formatted based on a locale.
* @param {Number} number A number to format.
* @param {String} format A language code.
* @returns A formatted number.
*/
const getCurrencyFormat = (number, format) => {
switch (format) {
case "fr-FR":
return getCurrencyFR(number);
case "en-US":
return getCurrencyUS(number);
default:
console.log("Not supported!");
break;
}
};
export default getCurrencyFormat;
|