How to Check if String is a Float in Javascript
In this tutorial, you will learn how to check if string is a float in javascript. In a floating number, the whole number part is separated from the fractional part using a decimal point or dot (.
).
There are numerous ways to check if a string is a float. We are going to use one of the easiest solutions which involve the usage of the match()
method, parseFloat()
method, isInteger()
method, and ternary (?
) operator. The ternary operator is also known as the conditional operator which acts similar to the if-else statement.
The match()
methods matches a string against a regular expression. If the match is found, it returns an array of matches, otherwise returns null. The parseFloat()
method takes a string as a parameter and returns a floating-point number. The isInteger()
methods checks whether a variable is an integer or not.
In the following example, we have one global variable and upon click of a button, we will check if the string is a float and display the result on the screen. Please have a look over the code example and the steps given below.
HTML & CSS
- We have 3 elements in the HTML file (
div
,button
, andh1
). Thediv
element is just a wrapper for the rest of the elements. - The
innerText
for thebutton
element is“Check”
and for theh1
element, it is“Result”
. - We have done some basic styling using CSS and added the link to our
style.css
stylesheet inside thehead
element. - We have also included our javascript file
script.js
with ascript
tag at the bottom.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="style.css"> <title>Document</title> </head> <body> <div> <button>Check</button> <h1>Result</h1> </div> <script src="script.js"></script> </body> </html>
body { text-align: center; } div { display: inline-block; } button { display: inline-block; padding: 10px 20px; }
Javascript
- We have selected the
button
element andh1
element using thedocument.querySelector()
method and stored them inbtnCheck
andoutput
variables respectively. - We have a global variable
myVar
which holds a string as its value. - We have attached a
click
event listener to thebutton
element. - In the event handler function, we are calling
isFloat()
method and passingmyVar
as a parameter. This method will check if the string is a float. - In the
isFloat()
, we are usingmatch()
method,parseFloat()
method,isInteger()
method and ternary (?
) operator to verify whethermyVar
is float or not. This method returns a boolean value. - Depending upon the result of the check, we will assign
“Yes”
or“No”
to theresult
variable - We are displaying the
result
in theh1
element using theinnerText
property.
let btnCheck = document.querySelector("button"); let output = document.querySelector("h1"); let myVar = "6.5444000"; btnCheck.addEventListener("click", () => { let result = isFloat(myVar) ? "Yes" : "No"; output.innerText = result; }); function isFloat(str) { let pattern = /^-?\d*(\.\d+)?$/; if (!str.match(pattern)) return false; let val = parseFloat(str); const isInteger = Number.isInteger(val); return isInteger ? false : true; }