Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 分隔数字_Javascript_Html_Arrays_Math_Solution - Fatal编程技术网

Javascript 分隔数字

Javascript 分隔数字,javascript,html,arrays,math,solution,Javascript,Html,Arrays,Math,Solution,我正在写一个程序来接收一个正数并分别输出每个数字。例如,如果输入为692,程序应输出2、9、6 我必须使用while循环,并使用模运算符(%)分隔数字 数字应分开,而不将数字视为字符串,且应采用数学方法 代码: HTML <div class="column1"> <div class="input"> <button onclick="problem_09()"> Run the

我正在写一个程序来接收一个正数并分别输出每个数字。例如,如果输入为692,程序应输出2、9、6

我必须使用while循环,并使用模运算符(%)分隔数字


数字应分开,而不将数字视为字符串,且应采用数学方法

代码:

HTML

<div class="column1">
    <div class="input">
      <button onclick="problem_09()"> Run the program </button>
    </div>
    <strong><p id="output"> </p></strong>
</div>

运行程序

JAVASCRIPT

function problem_09() {
    var outputObj = document.getElementById("output");
    var a = parseInt(prompt("Please enter a number: ", ""));
    var digits = "";

    while(a >= 0){
        var d = a % 10;
        outputObj.innerHTML= "number: "+a+"<br><br>its digits: " + d;
        a = Math.floor(a/10);
    }
  
    outputObj.innerHTML = outputObj.innerHTML + "<br><br>" + "program ended";
    document.getElementsByTagName("button")[0].setAttribute("disabled","true");
}
函数问题{ var outputObj=document.getElementById(“输出”); var a=parseInt(提示(“请输入一个数字:”,“”); var位数=”; 而(a>=0){ var d=a%10; outputObj.innerHTML=“数字:”+a+”

其数字:“+d; a=数学楼层(a/10); } outputObj.innerHTML=outputObj.innerHTML+“

”+“程序结束”; document.getElementsByTagName(“按钮”)[0].setAttribute(“已禁用”、“为真”); } 以下是解决方案:

HTML:


运行程序

JS:


函数问题_09(){
var outputObj=document.getElementById(“输出”);
var a=parseInt(提示(“请输入一个数字:”,“”);
var位=”;
outputObj.innerHTML=“”
而(a>0){
设num=a%10
a=数学楼层(a/10)
数字+=“”+num+“

” } outputObj.innerHTML=数字+“

”+“程序结束”; document.getElementsByTagName(“按钮”)[0].setAttribute(“已禁用”、“为真”); }
工作代码笔:

输出:


从数学上讲,取模10的余数除以10。在简单的代码中

num = some number
while (num>0):
    print(num%10)
    num = num/10

数字之间的分隔不应将数字视为字符串,而应采用数学方法。您知道其他方法吗?您的解决方案似乎也能正常工作。它是否显示任何错误?它只输出数字的第一位。例如,当我输入455时,它输出数字:4,数字:4。请检查更新的答案。添加了完整的工作演示。我想你忘了问一个问题。

function problem_09() {
  var outputObj = document.getElementById("output");
  var a = parseInt(prompt("Please enter a number: ", ""));
  var digit = "";
  outputObj.innerHTML = ""
  while(a > 0){
    let num = a%10
    a = Math.floor(a/10)
    digit += "<p>"+num+"</p>"
  }
  outputObj.innerHTML = digit + "<br><br>" + "program ended";
  document.getElementsByTagName("button")[0].setAttribute("disabled","true");
}
num = some number
while (num>0):
    print(num%10)
    num = num/10