angular - Πώς να μετατρέψετε έναν αριθμό σε τύπο δεδομένων double σε javascript/typescript;


Έχω ένα πεδίο εισόδου όπου ο χρήστης μπορεί να εισάγει οποιονδήποτε αριθμό π.χ.: 12 12.1 12.30 12.34. Πρέπει να περάσω αυτή την τιμή σε μια κλήση υπηρεσίας, εδώ μπορώ να στείλω την τιμή μόνο ως αριθμό αλλά με 2 δεκαδικά ψηφία.

let a = input //a will be a type of number
let b = a.toFixed(2) //b will be type of string
let c = Number(b) //it will automatically cut unwanted '0'
console.log(c);

ΠΑΡΑΔΕΙΓΜΑ

//input is 12
a=12
b="12.00"
c=12

//input is 12.30
a=12.30
b="12.30"
c=12.3

Θέλω μια μέθοδο, χρησιμοποιώντας την οποία μπορώ να εισάγω μια τιμή ως αριθμό και η έξοδος θα είναι αριθμός με 2 δεκαδικά ψηφία.

Απάντηση #1

Αν θέλετε ένας αριθμός να εμφανίζεται πάντα με δύο δεκαδικά ψηφία, μπορείτε να κάνετε όπως παρακάτω. Θα στρογγυλοποιήσει όλους τους αριθμούς σε δύο δεκαδικά ψηφία (συμπεριλαμβανομένων των διπλών).

function twoDecimal(yourNumber){
    return parseFloat(Math.round(yourNumber * 100) / 100).toFixed(2);
}

let x=twoDecimal(10);