第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何計算給定數(shù)字的位數(shù)?

如何計算給定數(shù)字的位數(shù)?

梵蒂岡之花 2021-12-23 16:15:15
我希望用戶輸入一個數(shù)字并打印回該數(shù)字的位數(shù)。我知道我可以使用length,但我的作業(yè)要求while循環(huán)。這是我到目前為止:var num;var count = 0;num = prompt('Enter number: ');function counter(x, y) {  while (x > 0) {    y++;    x /= 10;  }  return y;}var result = counter(num, count);console.log(result);當(dāng)我給出數(shù)字3456(示例)時,我會得到數(shù)字328。我希望它打印回數(shù)字4。
查看完整描述

3 回答

?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗 獲得超2個贊

這一行:


x /= 10;

應(yīng)改為:


x = Math.floor(x / 10);

邏輯假設(shè)整數(shù)除法:1234 應(yīng)該變成 123、12、1 和 0。JavaScript 沒有內(nèi)置整數(shù)除法,因此您需要使用Math.floor它來模擬它。帶有一些修復(fù)的完整示例:


function countDigits(num) {

  var count = 0;

  while (num > 0) {

    num = Math.floor(num / 10);

    count++;

  }

  return count;

}


var num;

do {

  num = Number(prompt("Enter number:"));

} while (Number.isNaN(num));

num = Math.abs(num); // just in case you want to handle -ve numbers

var result = countDigits(num);

console.log(result);


查看完整回答
反對 回復(fù) 2021-12-23
?
紅糖糍粑

TA貢獻(xiàn)1815條經(jīng)驗 獲得超6個贊

問題是除法運算最終會轉(zhuǎn)換x為浮點數(shù),你會得到類似的結(jié)果:


x / 10 === 0.1;

x / 10 === 0.01;

x / 10 === 0.001;

....

如果您總是將除法結(jié)果解析(四舍五入)為一個整數(shù),您將得到預(yù)期的結(jié)果。


var num;

var count = 0;


num = prompt('Enter number: ');


function counter(x, y) {

  while (x > 0) {

    y++;

    x = parseInt(x / 10);

  }

  return y;

}


var result = counter(num, count);


console.log(result);


查看完整回答
反對 回復(fù) 2021-12-23
?
慕虎7371278

TA貢獻(xiàn)1802條經(jīng)驗 獲得超4個贊

正如其他人指出的那樣,y不需要是參數(shù),它可以是局部變量。但這不是你的問題;讓我們?yōu)槟难h(huán)添加一些額外的日志記錄:


function counter(x) {

  let y=0;

  while (x > 0) {

    console.log("x=" + x + ", y=" + y);

    y++;

    x /= 10;

  }

  return y;

}

counter(3456);

輸出如下所示:


x=3456, y=0

x=345.6, y=1

x=34.56, y=2

x=3.4560000000000004, y=3

x=0.3456, y=4

x=0.03456, y=5

...

您希望循環(huán)在 處停止0.3456,但這仍然不止于0。(這個錯誤實際上讓你有機(jī)會學(xué)到一些額外的東西:你能解釋一下為什么循環(huán)會結(jié)束嗎?)


希望這會給你足夠的提示來完成家庭作業(yè)——記住調(diào)試是編程中極其重要的部分。


查看完整回答
反對 回復(fù) 2021-12-23
  • 3 回答
  • 0 關(guān)注
  • 278 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號