我需要删除1.400中的点以获得整数1400,但它返回140.如何获得1400作为整数?
var var2= String(1.400) ;
var2 = var2.replace(".","");
var2=parseInt(var2);
答案 0 :(得分:2)
您所提供的代码无法返回140,因为1.400
是一个数字文字并立即缩短为1.4
,然后才转为"1.4"
字符串{1}}。因此,替换点并转换为int会产生14
。
无法告诉JavaScript 1.400
的数量不是1.4
。您必须以"1.400"
字符串开头才能获得所需内容。
而不是数字 - > string - >数字也许你可以将数字乘以一千,或者需要任何数量级。
答案 1 :(得分:0)
使用此功能,您将获得预期的输出。
var var2= "1.400" ;
var2 = var2.replace(".","");
var2=parseInt(var2);
说明:
var s1 = '2 + 2'; // creates a string primitive
var s2 = new String('2 + 2'); // creates a String object
console.log(eval(s1)); // returns the number 4
console.log(eval(s2)); // returns the string "2 + 2"
答案 2 :(得分:0)
这是问题,
var var2= String(1.400) ;
alert(var2); //Returns 1.4 cause it is performing Number to String conversion
因此,请将其更改为var var2= "1.400";
或var var2=number.toString();
并将替换更新为
var2.replace(/\./g,""); // : /g means all occurrence
您需要转义.
,因为它在正则表达式中具有an arbitrary character
的含义。
答案 3 :(得分:0)
在初始字符串周围添加单引号:
var var2= String('1.400');