I am working with GBP currency in Javascript and converting a string currency to a number like the following: Number('1.20') will give me 1.2. But I want to maintain the 0 when converting to a number type. Is this possible? This is the result that I want : 1.20. Can anyone help me please?
            Asked
            
        
        
            Active
            
        
            Viewed 1,519 times
        
    3
            
            
        - 
                    maintain how? where does the missing 0 cause issue? – depperm Mar 14 '22 at 12:40
- 
                    1It seems you are confusing number *values* with their *representation*. `1.2` and `1.20` are the same number *value*. If you need the trailing zero for *display* purposes then see [Formatting a number with exactly two decimals in JavaScript](https://stackoverflow.com/q/1726630/218196) – Felix Kling Mar 14 '22 at 12:41
- 
                    2Use [Intl.NumberFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat) for currencies. – Lain Mar 14 '22 at 12:42
- 
                    1Both are the same numbers. Even if you use toFixed, it'll be converted to string & if you try to convert it to Number, it'll strip zero again. – Ali Demirci Mar 14 '22 at 12:43
- 
                    No, this is not possible, numbers in JS are [IEEE754 floating-point numbers](https://en.wikipedia.org/wiki/IEEE_754), and the standard doesn't include leading or trailing zeros. – Teemu Mar 14 '22 at 12:50
2 Answers
1
            
            
        A better way to work with Currency in Javascript is to use the Intl.NumberFormat. For course, the output will be of the type: 'String'
The output will take care of the number of decimal places depending on the Currency you specify. In your case GBP so it will be 2 decimal places.
Example:
const number = 1.2;
console.log(new Intl.NumberFormat('en', { style: 'currency', currency: 'GBP' }).format(number)); 
    
    
        Mohsen Alyafei
        
- 4,765
- 3
- 30
- 42
-1
            
            
        You can control the decimals like this in Javascript:
let num = 1.204;
let n = num.toFixed(2)
 
    
    
        Mihai Lupu
        
- 67
- 5
 
    