2

I have one input filed where the user can enter any numbers eg: 12 12.1 12.30 12.34 I have to pass this value in a service call here i can only send the value as number but with 2 decimal points

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);

EXAMPLE

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

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

I want a method, using which i can input a value as a number and output will be number with 2 decimal points.

4
  • 3
    All numeric types in typescript are number which are floating point values, so I don't think data type conversion is what you're after here. Seems like you just want to take any number and round/truncate it or right-pad w/ zeroes to two digits. typescriptlang.org/docs/handbook/basic-types.html Commented Jul 28, 2017 at 21:40
  • 2
    You can try getting the value of your input, parseFloat it and then toFixed it Commented Jul 28, 2017 at 21:42
  • "Double" does not mean two decimal places, it means double precision. There is no way to specify a number to a fixed number of places except to store it as a string using .toFixed. That's the whole reason that method returns a string in the first place. Commented Jul 28, 2017 at 21:49
  • Actually, you may want to use toExponential method, so you can store your 12.30 number as 1230e-2 and don't loose that zero. Commented Jul 28, 2017 at 21:56

1 Answer 1

2

If you want a number to always display in two decimal places, you can do as below. It will round all the numbers to two decimal places(including doubles).

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

let x=twoDecimal(10);
Sign up to request clarification or add additional context in comments.

1 Comment

gyazo.com/17f167b50ba7c719ec3f2616e045cf1a go through the above screenshot I had input the value as number :12 after this (Math.round(yourNumber * 100) / 100).toFixed(2) value changed to= "12.00" but after parseFolat() the value changed to 12 My objective is if i gave 12(type number) i want to get output/return as 12.00(type of number).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.