I've got an integer (e.g. 12), and I want to convert it to a floating point number, with a specified number of decimal places.
Draft
function intToFloat(num, decimal) { [code goes here] } intToFloat(12, 1) // returns 12.0 intToFloat(12, 2) // returns 12.00 // and so on…
mskfisher
3,1974 gold badges33 silver badges47 bronze badges
asked Nov 27, 2010 at 18:36
0
What you have is already a floating point number, they're all 64-bit floating point numbers in JavaScript.
To get decimal places when rendering it (as a string, for output), use .toFixed(), like this:
function intToFloat(num, decPlaces) { return num.toFixed(decPlaces); }You can test it out here (though I'd rename the function, given it's not an accurate description).
answered Nov 27, 2010 at 18:41
Nick CraverNick Craver
614k134 gold badges1291 silver badges1152 bronze badges
6
toFixed(x) isn't crossed browser solution. Full solution is following:
function intToFloat(num, decPlaces) { return num + '.' + Array(decPlaces + 1).join('0'); }answered Jul 28, 2014 at 13:54
Simon BorskySimon Borsky
4,5812 gold badges20 silver badges17 bronze badges
3
If you don't need (or not sure about) fixed number of decimal places, you can just use
xAsString = (Number.isInteger(x)) ? (x + ".0") : (x.toString());This is relevant in those contexts like, you have an x as 7.0 but x.toString() will give you "7" and you need the string as "7.0". If the x happens to be a float value like say 7.1 or 7.233 then the string should also be "7.1" or "7.233" respectively.
Without using Number.isInteger() :
xAsString = (x % 1 === 0) ? (x + ".0") : (x.toString());answered Jan 22, 2018 at 12:28
Not the answer you're looking for? Browse other questions tagged javascript integer floating-point or ask your own question.
View Discussion
Improve Article
Save Article
View Discussion
Improve Article
Save Article
Below is the example of the parseFloat() function.
- Example:
javascript
<script>
var v2 = parseFloat("3.14");
document.write('Using parseFloat("3.14") = '
+ v2 + "<br>");
</script>
- Output:Using parseFloat("3.14") = 3.14
The parseFloat() function is used to accept the string and convert it into a floating-point number. If the string does not contain a numeral value or If the first character of the string is not a Number then it returns NaN i.e, not a number. It actually returns a floating-point number parsed up to that point where it encounters a character that is not a Number.
Syntax:
parseFloat(Value)Parameters: This function accept a single parameter as mentioned above and described below:
- value This parameter obtains a string which is converted to a floating-point number.
Return value: It returns a floating-point Number and if the first character of a string cannot be converted to a number then the function returns NaN i.e, not a number.
Below examples illustrate the parseFloat() function in JavaScript:
More example codes for the above function are as follows:
Program
1:
javascript
<!DOCTYPE html>
<html>
<body>
<script>
a = parseFloat(" 100 ")
document.write('parseFloat(" 100 ") = ' +a +"<br>");
b = parseFloat("2018@geeksforgeeks")
document.write('parseFloat("2018@geeksforgeeks") = '
+b +"<br>");
c = parseFloat("geeksforgeeks@2018")
document.write('parseFloat("geeksforgeeks@2018") = '
+c +"<br>");
d = parseFloat("3.14")
document.write('parseFloat("3.14") = '
+d +"<br>");
e = parseFloat("22 7 2018")
document.write('parseFloat("22 7 2018") = '
+e +"<br>");
</script>
</body>
</html>
Output:
parseFloat(" 100 ") = 100 parseFloat("2018@geeksforgeeks") = 2018 parseFloat("geeksforgeeks@2018") = NaN parseFloat("3.14") = 3.14 parseFloat("22 7 2018") = 22Program 2: Using isNaN() function to test that converted values are valid number or not.
javascript
<!DOCTYPE html>
<html>
<body>
<script>
var x = parseFloat("3.14");
if (isNaN(x))
document.write("x is not a number" + "<br>");
else
document.write("x is a number" + "<br>");
var y = parseFloat("geeksforgeeks");
if (isNaN(y))
document.write("y is not a number" + "<br>");
else
document.write("y is a number" + "<br>");
var v1 = parseInt("3.14");
var v2 = parseFloat("3.14");
document.write('Using parseInt("3.14") = '
+ v1 + "<br>");
document.write('Using parseFloat("3.14") = '
+ v2 + "<br>");
</script>
</body>
</html>
Output:
x is a number y is not a number Using parseInt("3.14") = 3 Using parseFloat("3.14") = 3.14Supported Browsers:
- Google Chrome 1 and above
- Edge 12 and above
- Firefox 1 and above
- Internet Explorer 3 and above
- Safari 1 and above
- Opera 3 and above