【问题标题】:Converting a number array toString() in javascript在javascript中将数字数组转换为字符串()
【发布时间】:2015-12-21 22:53:52
【问题描述】:

请不要因为我提出一个“愚蠢”的问题而责骂我,但我已经为此苦苦挣扎了好几个星期!

为什么即使在我使用 toString() 将值转换为字符串之后,该数组仍保留我的前导零并将 numbers 转换为不同的格式?

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查看结果

【问题讨论】:

    标签: javascript arrays numbers tostring


    【解决方案1】:

    在引号中设置数字而不是数字。

    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");
    ...
    

    【讨论】:

    • 这太容易了太难了!感谢您指出显而易见的!我真的需要它!
    • 赞赏。谢谢。
    【解决方案2】:

    这里的问题是您将值保存为数字。 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/

    【讨论】:

    • 这并不能真正解决数字转换的问题。
    猜你喜欢
    • 2022-11-29
    • 2022-01-23
    • 2015-11-11
    • 2019-06-27
    • 2017-05-15
    • 2011-09-22
    • 1970-01-01
    • 2020-12-23
    相关资源
    最近更新 更多