2015-12-21 29 views
1

请不要因为询问一个“哑巴”问题而抱怨我,但我一直在为此奋斗了几个星期!在javascript中转换数字数组toString()

为什么这个数组离开我的前导零并将numbers转换为不同的格式,即使在我使用toString()将值转换为字符串后?

var coords=new Array(); 
coords[0]=new Array(03336890,"SPOON RIVER NEAR ST. JOSEPH, IL"); 
coords[1]=new Array(03346500,"EMBARRAS RIVER AT LAWRENCEVILLE, IL"); 
coords[2]=new Array(03612600,"OHIO RIVER AT OLMSTED"); 
coords[3]=new Array(05543010,"ILLINOIS RIVER AT SENECA, IL"); 
coords[4]=new Array(05554300,"INDIAN CREEK NEAR FAIRBURY, IL"); 
coords[5]=new Array(05576100,"LICK CREEK NEAR WOODSIDE, IL"); 
coords[6]=new Array(05576195,"SUGAR CREEK NEAR CHATHAM, IL"); 
coords[7]=new Array(05586300,"ILLINOIS RIVER AT FLORENCE, IL"); 
coords[8]=new Array(05599490,"BIG MUDDY RIVER AT RTE 127 AT MURPHYSBORO, IL"); 
coords[9]=new Array(411955088280601,"HANSON GRAVEL PIT AT CULVERT NEAR MORRIS, IL"); 

for (i=0;i<coords.length;i++){ 
    coords[i][0].toString(); 
} 

检查出来的结果上jsfiddle

回答

2

的报价,而不是数设置的数字。

var coords=new Array(); 
coords[0]=new Array("03336890","SPOON RIVER NEAR ST. JOSEPH, IL"); 
coords[1]=new Array("03346500","EMBARRAS RIVER AT LAWRENCEVILLE, IL"); 
... 

enter image description here

+0

这是那么容易,很难!感谢您指出明显!我真的需要它! – daniella

+0

我一定会在两分钟内接受 – daniella

+0

赞赏。谢谢。 – CodeWizard

0

这里的问题是,你保存的值作为一个数字。 javascript会自动将它们保存在内部,而不需要前导零,因此在您拨打.toString()之前,它们会丢失。我给你做了一个解决方案,你的例子女巫使用一个小窍门让你回到前面的零。当然,这需要一定的改进,如果需要:

var i, x = 100 

var coords = new Array(); 
coords[0] = new Array(03336890, "SPOON RIVER NEAR ST. JOSEPH, IL"); 
coords[1] = new Array(03346500, "EMBARRAS RIVER AT LAWRENCEVILLE, IL"); 
coords[2] = new Array(03612600, "OHIO RIVER AT OLMSTED"); 
coords[3] = new Array(05543010, "ILLINOIS RIVER AT SENECA, IL"); 
coords[4] = new Array(05554300, "INDIAN CREEK NEAR FAIRBURY, IL"); 
coords[5] = new Array(05576100, "LICK CREEK NEAR WOODSIDE, IL"); 
coords[6] = new Array(05576195, "SUGAR CREEK NEAR CHATHAM, IL"); 
coords[7] = new Array(05586300, "ILLINOIS RIVER AT FLORENCE, IL"); 
coords[8] = new Array(05599490, "BIG MUDDY RIVER AT RTE 127 AT MURPHYSBORO, IL"); 
coords[9] = new Array(411955088280601, "HANSON GRAVEL PIT AT CULVERT NEAR MORRIS, IL"); 

for (i = 0; i < 10; i++) { 
    if (x < 10000000) { 
    alert("0" + coords[i]); 
    } 
} 

链接到的jsfiddle是在这里: https://jsfiddle.net/gyjjqnkt/

+0

这并不能真正解决转换数字的问题。 – daniella