我有一些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