亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

document.write(Math.floor(a)+"<br/>")

?document.write(Math.floor(-8.000000000000000000000000000001)+"<br/>")的結果是-8為什么不是-9

正在回答

4 回答

小數位超出范圍了,你可以自己試一下打印一個 10/3,看看小數位后最多幾位,我看下來是16位,超出的部分被截斷了,所以,你最后的 1 系統并沒有讀到,等同于 -8 。

0 回復 有任何疑惑可以回復我~
#1

小菜鳥飛 提問者

非常感謝!
2016-10-12 回復 有任何疑惑可以回復我~

向下取值哦,負數和正數相反

例子

8.99 取 8

-8.99 取 -9

你可以這么理解 取得數比先前小

0 回復 有任何疑惑可以回復我~
#1

小菜鳥飛 提問者

是的 本來應該是-9可是 document.write(Math.floor(-8.000000000000000000000000000001)+"<br/>")是-8
2016-08-04 回復 有任何疑惑可以回復我~
#2

繁華終落盡 回復 小菜鳥飛 提問者

超過floor字符長度么,你是試試double
2016-08-05 回復 有任何疑惑可以回復我~

后++,先用后+

0 回復 有任何疑惑可以回復我~

-8比-8.000000000000000000000000000001大,-9比-8.000000000000000000000000000001小,由于floor是向下取整,所以是取小的-9。

0 回復 有任何疑惑可以回復我~
#1

小菜鳥飛 提問者

document.write(Math.floor(-8.1)+"<br/>")的值是-9 document.write(Math.floor(-8.000000000000000000000000000001)+"<br/>")的值是-8
2016-08-04 回復 有任何疑惑可以回復我~
#2

qq_禮葬花_03334301 回復 小菜鳥飛 提問者

var a=-8.1; var b=-8.000000000000000000000000000001; document.write(Math.floor(a)+"<br/>"); document.write(Math.floor(b)+"<br/>"); document.write((a+b));得到結果是-16.1
2016-08-04 回復 有任何疑惑可以回復我~
#3

qq_禮葬花_03334301 回復 小菜鳥飛 提問者

可以看出-8.0000000...001被自動取整了
2016-08-04 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

document.write(Math.floor(a)+"<br/>")

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號