2016-02-05 43 views
0

我想删除零,
我喜欢这个模型,如果我把1000然后额外表格显示从1到1000的所有数字,每个数字检查并删除零。我想删除零如果放在100显示每个数字从1到100没有零前20 20成为2和100成为1

例如:如果我输入10 则输出如1 2 3 ..... 8 9 1(10删除零,余额1显示)。

如果我拿500,那么 就像1 2 ...... 8 9 1 11 12 13 ..... 19 2 21 22 23 ..... 29 3 31 32 .. 98 99 1 11 12 13(101 102 103删除零)488 499 5(500删除零)

另一个例子是,如果我在1000然后输出像 1 2 ...... 8 9 1 11 12 13 ..... 19 2 21 22 23 ..... 29 3 31 32 .. 98 99 1 11 12 13(101 102 103删除零)488 499 5(500删除零) 51 52 53 54(501 502 503删除零)......终于996 997 998 999 1(1000删除3个零)。

使用Java脚本和HTML5 ...

输入数:

功能printNoZeros(){

var numbers = document.getElementById("number").value; 
var output = ""; 

for (var i = 1; i <= numbers; i++) { 
    var noZero = i.toString().replace(/0/g, ''); 
    console.log(noZero); 
} 
document.getElementById("anumbers").innerHTML = output; 

}

但没有得到它...它除去zero.but在平衡号码未示出

前输入是20 输出等1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2

+1

请提供你的输入,输出电流(不工作),并预期输出.. – Rayon

+0

OP希望输入'10'来返回'1 2 3 4 5 6 7 8 9 1',就像在打印中所有带零的数字一样被剥离 – Aziz

+0

在一个文本框中,我喜欢将10或100或500或1000 – jerin

回答

5

试试这个:

function printNoZeros(n) { 
    for (var i = 1; i <= n; i++) { 
     var noZero = i.toString().replace(/0/g, ''); 
     console.log(noZero); 
    } 
} 

printNoZeros(110); 

这将使用全球找到&更换次数,并删除所有零。 https://jsfiddle.net/19wLtwqh/1/

它目前将它们打印到控制台,但它可以很容易地修改到打印到别的地方。

它是如何工作的?

它使用简单的for loop,然后它将变量i转换为字符串,并使用全局replace替换零。

+0

Th在要走的路上。不确定OP是否希望它们分开或在一个输出字符串中。 – Aziz

+0

@Aziz是啊,他不是很具体,但希望这将指导他在正确的方向。 –

+1

非常感谢你的指导... – jerin

1

如果您将var转换为字符串,它将不会显示任何尾随零,这些尾随零并没有存储在变量中,因为它是作为数字创建的,而不是字符串。

var a= 1.2000; 

var b=a.toString()// 1.2 

,你可以看看这个Remove insignificant trailing zeros from a number?

+0

@HanletEscaño它也适用于小数。你可以看看它。 –

+0

任何其他方式在JavaScript和HTML5 .... – jerin

+0

尝试谷歌,你会得到数百个解决方案 –