我有一些IDS我需要转换的由强到数不过每当我使用parseInt函数()或Number(),我得到一个double类型十进制如何解析一个长数字串为一个数字?
1.01038295007818e+016.0
我只是需要转换成字符串只是一个数字。
我有一些IDS我需要转换的由强到数不过每当我使用parseInt函数()或Number(),我得到一个double类型十进制如何解析一个长数字串为一个数字?
1.01038295007818e+016.0
我只是需要转换成字符串只是一个数字。
的parseInt()
函数采用串的第一数目并去除小数位,它返回一个整数:
var a = parseInt("1.000350001");
var b = parseInt("456789.1");
var c = parseInt("20");
console.log(a);
console.log(b);
console.log(c);
的Math.floor()
方法向下舍入数到它的最接近的整数:
var d = Math.floor("1234.00101");
console.log(d);
的函数的字符串转换成一个数字,表示字符串值:
var e = Number("1000.12");
console.log(e);
对于你的问题,我相信无论是parseInt
或Math.floor
会工作得很好,除非你数字大于JavaScripts largest available number
答案是数字太大!尽管如此,谢谢你提供了额外的信息。 – deek
有5种不同的方式将字符串转换为如下编号:
parseInt函数(NUM); //默认方式(无基数)
parseInt(num,10); //使用基数(十进制)parseInt函数
parseFloat(NUM)//浮点
号(NUM); // Number构造
~~ // NUM按位不
NUM/1 //潜水由一个
NUM * 1 //通过一个
NUM乘以 - 0 // 0负
+ NUM //一元运算符 “+”
你会发现泰丰解释Here
为
var s = parseInt("101038295007818e0160",10);
alert(s);
O/P:101038295007818e0160。
和用于:
var s = parseInt(101038295007818e0160,10);
alert(s);
O/P:1
为
var s = parseInt("101038295007818e0160");
alert(s);
O/P:101038295007818e0160。
和:
var s = parseInt(101038295007818e0160);
alert(s);
O/P:1
希望它会帮助你。
你得到我因为你试图解析它的数量太大了。
在Javascript准确表示的最大整数
9007199254740991
但是你的电话号码1.01038295007818e+016.0
是
10103829500781800
,可以在JavaScript中表示的最大整数,而不会丢失任何精度,是9007199254740991
。见the javascript docs for more info。如果你想使用比这更大的整数,你将需要使用第三方库,如Big Integer。
是正确的,但其他人也打败你呢。 – deek
你可以只提一下你想转换为数字的字符串吗? – techhunter