Hướng dẫn parsefloat javascript 2 decimal

I have the following code. I would like to have it such that if price_result equals an integer, let’s say 10, then I would like to add two decimal places. So 10 would be 10.00. Or if it equals 10.6 would be 10.60. Not sure how to do this.

price_result = parseFloat(test_var.split('$')[1].slice(0,-1));
Hướng dẫn parsefloat javascript 2 decimal

asked Dec 14, 2010 at 1:41


10.4k19 gold badges56 silver badges72
bronze badges

You can use
toFixed() to do that

var twoPlacedFloat = parseFloat(yourString).toFixed(2)

bob esponja

4,0833 gold badges30 silver badges29 bronze badges

answered Dec 14, 2010 at 1:44

Mahesh VelagaMahesh Velaga

21.2k5 gold badges35 silver
59 bronze badges


When you use toFixed, it always returns the value as a string. This sometimes complicates
the code. To avoid that, you can make an alternative method for Number.

Number.prototype.round = function(p) {
  p = p || 10;
  return parseFloat( this.toFixed(p) );

and use:

var n = 22 / 7; // 3.142857142857143
n.round(3); // 3.143

or simply:

(22/7).round(3); // 3.143


38.5k13 gold badges96 silver badges134 bronze badges

answered Aug 6, 2013 at 21:04


1,60320 silver badges23 bronze badges


To return a number, add another layer of parentheses. Keeps it clean.

var twoPlacedFloat = parseFloat((10.02745).toFixed(2));

answered Nov 19, 2014 at 22:07


5394 silver badges10 bronze badges


If your objective is to parse, and your input might be a literal, then you’d expect a float and toFixed won’t provide that, so here are two simple functions to
provide this:

function parseFloat2Decimals(value) {
    return parseFloat(parseFloat(value).toFixed(2));

function parseFloat2Decimals(value,decimalPlaces) {
    return parseFloat(parseFloat(value).toFixed(decimalPlaces));

answered Nov 17, 2017 at 9:54

Xem thêm:  Hướng dẫn dùng mysql debug trong PHP


2,2081 gold badge30 silver badges36 bronze badges


ceil from lodash is probably the best


will work also with a number and it’s safe

answered Apr 27, 2018 at 8:36

Antonio TerrenoAntonio Terreno

2,4551 gold badge13 silver
9 bronze badges


You can use .toFixed() to for float value 2 digits


let newValue = parseFloat(9.990000).toFixed(2)


answered Apr 20, 2020 at 0:00


3,3272 gold badges21 silver badges21 bronze badges


Please use below function if you don’t want to round off.

function ConvertToDecimal(num) {
    num = num.toString(); //If it's not already a String
    num = num.slice(0, (num.indexOf(".")) + 3); //With 3 exposing the hundredths place
   alert('M : ' +  Number(num)); //If you need it back as a Number    

answered Apr 19, 2016 at 9:29

Hướng dẫn parsefloat javascript 2 decimal


3,0741 gold badge27 silver badges32 bronze badges


I have tried this for my case and it’ll work fine.

var multiplied_value = parseFloat(given_quantity*given_price).toFixed(3);

Sample output:



6,05115 gold badges38 silver badges43 bronze badges

answered Jul 25, 2020 at

Hướng dẫn parsefloat javascript 2 decimal

You have to parse it twice. The first time is to convert the string to a float, then fix it to two decimals (but the toFixed returns a string), and finally parse it again.

answered Aug 29 at 5:34


31.2k24 gold badges75 silver badges89 bronze badges

For what its worth: A decimal number, is a decimal number, you either round it to some other value or not. Internally, it will approximate a decimal fraction according to the rule of floating point
arthmetic and handling. It stays a decimal number (floating point, in JS a double) internally, no matter how you many digits you want to display it with.

Xem thêm:  Chọn lọc hàng loạt là phương pháp dựa theo các tiêu chuẩn về sức sản xuất của vật nuôi như

To present it for display, you can choose the precision of the display to whatever you want by string conversion. Presentation is a display issue, not a storage thing.

answered Aug 8, 2016 at 10:37


1,3061 gold badge13 silver badges23 bronze badges

@sd Short Answer: There is no way in JS to have Number datatype value with trailing zeros after a decimal.

Long Answer: Its the property of toFixed
or toPrecision function of JavaScript, to return the String. The reason for this is that the Number datatype cannot have value like a = 2.00, it will always remove the trailing zeros after the decimal, This is the inbuilt property of Number Datatype. So to achieve the above in JS we have 2 options

  1. Either use data as a string or
  2. Agree to have truncated value with case ‘0’ at the end ex 2.50 -> 2.5.
    Hướng dẫn parsefloat javascript 2 decimal

answered Jul 3, 2019 at 7:17


You can store your price as a string

You can use Number(string)

for your calculations.


Number("34.50") == 34.5


Number("35.65") == 35.65

If you’re comfortable with the Number function , you can go with it.

answered Mar 16, 2021 at 15:25

Hướng dẫn parsefloat javascript 2 decimal


Try this (see comments in code):

function fixInteger(el) {
    // this is element's value selector, you should use your own
    value = $(el).val();
    if (value == '') {
        value = 0;
    newValue = parseInt(value);
    // if new value is Nan (when input is a string with no integers in it)
    if (isNaN(newValue)) {
        value = 0;
        newValue = parseInt(value);
    // apply new value to element

function fixPrice(el) {
    // this is element's value selector, you should use your own
    value = $(el).val();
    if (value == '') {
        value = 0;
    newValue = parseFloat(value.replace(',', '.')).toFixed(2);
    // if new value is Nan (when input is a string with no integers in it)
    if (isNaN(newValue)) {
        value = 0;
        newValue = parseFloat(value).toFixed(2);
    // apply new value to element
Hướng dẫn parsefloat javascript 2 decimal


Xem thêm:  Mẹ hơn con 28 tuổi tuổi mẹ gấp 3 lần tuổi con tính tuổi của mỗi người

4,18611 gold badges44 silver
57 bronze badges

answered Jul 23, 2014 at 10:26

Solution for FormArray controllers 

Initialize FormArray form Builder

  formInitilize() {
    this.Form = this._formBuilder.group({
      formArray: this._formBuilder.array([this.createForm()])

Create Form

  createForm() {
    return (this.Form = this._formBuilder.group({
      convertodecimal: ['']

Set Form Values into Form Controller

  setFormvalues() {
    this.Form.setControl('formArray', this._formBuilder.array([]));
    const control = <FormArray>this.resourceBalanceForm.controls['formArray'];
    this.ListArrayValues.forEach((x) => {

  private buildForm(x): FormGroup {
    const bindvalues= this._formBuilder.group({
      convertodecimal: x.ArrayCollection1? parseFloat(x.ArrayCollection1[0].name).toFixed(2) : '' // Option for array collection
// convertodecimal: x.number.toFixed(2)    --- option for two decimal value 

    return bindvalues;

answered Dec 30, 2018 at 8:45

Hướng dẫn parsefloat javascript 2 decimal

Simple JavaScript, string to float:

var it_price = chief_double($("#ContentPlaceHolder1_txt_it_price").val());

function chief_double(num){
    var n = parseFloat(num);
    if (isNaN(n)) {
        return "0";
    else {
        return parseFloat(num);

answered Oct 30, 2015 at 6:20

Hướng dẫn parsefloat javascript 2 decimal

Arun Prasad E SArun Prasad E S

8,7078 gold badges72 silver badges81 bronze badges

I’ve got other solution.

You can use
round() to do that instead toFixed()

var twoPlacedFloat = parseFloat(yourString).round(2)

answered Aug 20, 2012 at 16:36


The solution that work for me is the following


answered Sep 11, 2018 at 18:00

Hướng dẫn parsefloat javascript 2 decimal

Thuộc website harveymomstudy.com

Related Posts