This is my javascript object and code
buildingJson: {
name: "build",
height: 40
}
var val = parseFloat(buildingJson.height).toFixed(2);
buildingJson.height = val;
console.log(typeof buildingJson.height);
This is always logging out a string even though the value is 40.0.
How to set the height to a floating point number in the buildingJson object.
This is my javascript object and code
buildingJson: {
name: "build",
height: 40
}
var val = parseFloat(buildingJson.height).toFixed(2);
buildingJson.height = val;
console.log(typeof buildingJson.height);
This is always logging out a string even though the value is 40.0.
How to set the height to a floating point number in the buildingJson object.
buildingJson
, even if it would be correct then buildingJson
is a JavaScript Object, and not JSON. JSON is a textual representation. And it bees a string because of toFixed
MDN: Number.prototype.toFixed(): [...]Returns: A string representation of numObj that does not use exponential notation and has exactly digits digits after the decimal place.[...]
– t.niese
Commented
Apr 16, 2015 at 22:42
That's because toFixed
returns a String (that's how the decimals at the end of the number are preserved. To fixed is designed to be used for display purposes.
Removing that will do what you want.
parseFloat(buildingJson.height)
toFixed()
returns a string in the given precision. If you want a float, don't use toFixed()
. See the documentation here: https://developer.mozilla/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed