Convert string to either integer or float in javascript

float to string javascript
javascript convert string to number
javascript parsefloat 2 decimal
javascript parsefloat comma
javascript decimal
javascript round to 2 decimal
angular 6 convert string to number
javascript int to float

Is there a straightforward way to parse a string to either integer or float if I don't know if the variable is integer-number-like or decimal-number-like?

a = '2'; // => parse to integer
b = '2.1'; // => parse to float
c = '2.0'; // => parse to float
d = 'text'; // => don't parse

EDIT: It seems my question lacked the necessary context: I want to do some calculations without losing the original format (Original format thereby means integer vs. float. I don't care about the original number of decimal places):

Example:

String containing the formatted number ('2') => parse to number (2.0) => do some calculations (2.0 + 1 = 3.0) => restore "original format" ('3' and not '3.0')

If the input was 2.0 instead, the wanted result would be '3.0' (not '3').

Multiply string which has number data with 1. You will get the Numeric data value.

var int_value = "string" * 1;

In your case

a = '2' * 1; // => parse to integer
b = '2.1' * 1; // => parse to float
c = '2.0' * 1; // => parse to float
d = 'text' * 1; // => don't parse    //NaN value

For last one you will get NaN value. Manually handle for NaN value

parseFloat(), The value you want to parse. This must be a string or a number. Return value. A floating point number. If the argument is a number, the number is  Let assume if the data we have in float and we want to convert in the string or we have data in the string and want to convert in float so we have two methods. In this topic, we are going to learn about JavaScript String to Float.

Just wrap it in Number()

Number('123') === 123

Number('-123.456') === -123.456

JavaScript Numbers, Integers (numbers without a period or exponent notation) are accurate up to 15 digits. The maximum number of decimals is 17, but floating point arithmetic is not JavaScript will try to convert strings to numbers in all numeric operations:. Data Type Conversion: The following data type conversions are possible a) String to Integer (int) b) Float to Integer (int) c) String to Float d) Integer (int) to String e) Float to String a) Converting String to Integer To convert a value from string to integer we have to use the function or method "parseInt(). Passing a correct argument to

That's how I finally solved it. I didn't find any other solution than to add the variable type to the variable ...

var obj = {
	a: '2',
	b: '2.1',
	c: '2.0',
	d: 'text'
};
// Explicitly remember the variable type
for (key in obj) {
  var value = obj[key], type;
  if ( isNaN(value) || value === "" ) {
    type = "string";
  }
  else {
    if (value.indexOf(".") === -1) {
      type = "integer";
    }
    else {
      type = "float";
    }
    value = +value; // Convert string to number
  }
  obj[key] = {
    value: value,
    type: type
  };
}
document.write("<pre>" + JSON.stringify(obj, 0, 4) + "</pre>");

JavaScript parseFloat() Function, JavaScript parseFloat() Function. ❮ JavaScript Global Functions. Example. Parse different strings: var a = parseFloat("10") There are various methods to convert float number to the whole number in JavaScript. Math.floor (floating argument): Round off the number passed as parameter to its nearest integer in Downward direction. Math.ceil (floating argument): Return the smallest integer greater than or equal to a given number. Math.round (floating argument): Round a

How to convert to number type in javascript, The are different ways to convert string to int in JavaScript. The Number object represents numerical date, either integers or floating-point numbers. Well, let  The parseFloat () function parses a string and returns a floating point number. This function determines if the first character in the specified string is a number. If it is, it parses the string until it reaches the end of the number, and returns the number as a number, not as a string. Note: Only the first number in the string is returned!

Chapter 11. Numbers, A number literal can be an integer, floating point, or (integer) hexadecimal: When converting the empty string to a number, NaN would arguably be a better Additionally, the global function isFinite() allows you to check whether a value is an  To convert a float to an integer, JavaScript provides multiple methods. The floor function returns the first integer less than or equal to the float. Math.floor(5.7); // 5 The ceil function returns the first integer greater than or equal to the float. Math.ceil(5.3); // 6 The round function rounds the float.

Converting To Numbers In JavaScript : JavaScript Language , parseInt() converts input to an integer, while parseFloat() to a float It also continues to parse the string until it reaches either the end of the  Method 2: In this method we will use the parseFloat() method which is an inbuilt function in JavaScript that 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.

Comments
  • Why do you wan't to parse? Javascript has dynamic typing. Moreover, the only numerical type it has is double.
  • @david a.: Thanks for pointing that out. I wasn't aware of that. Still wondering why there are two functions (parseInt, parseFloat) in JavaScript if there is only one numerical type.
  • I think that the difference is just how the two parse the input - parseInt() only takes the integer part of it, while parseFloat() takes the decimal (and perhaps the exponent) as well. They, however, both return the same type (number, that is actually a floating-point type). See spec of JS numbers here: ecma-international.org/ecma-262/6.0/… . MSDN mentions the same thing here: msdn.microsoft.com/library/7wkd9z69(v=vs.94).aspx#Anchor_4
  • as there is no difference between a float and an int, you can really just do: isNaN(val) ? val : parseFloat(val);
  • This is also the fastest way to do this, by far, even compared to JSON.parse.