国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

JavaScript Math.ceil 方法(對(duì)數(shù)值向上取整)

2024-05-06 16:14:03
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

js Math.ceil用于對(duì)數(shù)值向上取整,即得到大于或等于該數(shù)值的最小整數(shù),需要的朋友可以參考下

JavaScript Math.ceil 方法

Math.ceil 方法用于對(duì)數(shù)值向上取整,即得到大于或等于該數(shù)值的最小整數(shù)。語(yǔ)法如下:

Math.ceil(x)

參數(shù)說(shuō)明:

參數(shù) 說(shuō)明
x 必需。必須是一個(gè)數(shù)值。

提示:該方法與 Math.floor 方法正好相反。

Math.ceil 方法實(shí)例

 

  1. <script language="JavaScript"
  2. document.write( Math.ceil(0.35) + "<br />" ); 
  3. document.write( Math.ceil(10) + "<br />" ); 
  4. document.write( Math.ceil(-10) + "<br />" ); 
  5. document.write( Math.ceil(-10.1) ); 
  6. </script> 

運(yùn)行該例子,輸出:

1

10

-10

-10

Math.ceil 方法的錯(cuò)誤?

試著運(yùn)行下面的例子:

document.write( Math.ceil(2.1/0.7) ); 該例子運(yùn)行的結(jié)果并不是如我們期望的得到 3(2.1/0.7=3),而是 4,這顯然與我們的常識(shí)相悖,難道是 Math.ceil 方法的錯(cuò)誤?

真實(shí)的情況是,在進(jìn)行 2.1/0.7 計(jì)算時(shí),是按照浮點(diǎn)數(shù)來(lái)處理的。而計(jì)算機(jī)由于二進(jìn)制的關(guān)系,不可能對(duì)浮點(diǎn)數(shù)做到完全精確(即通常會(huì)損失一點(diǎn)進(jìn)度),所以導(dǎo)致 2.1/0.7 的計(jì)算結(jié)果并不是正好等于 3 ,而是超過(guò) 3 一點(diǎn)點(diǎn)(約:3.00000000000000044409)。所以該表達(dá)式應(yīng)用了 Math.ceil() 之后,得到的結(jié)果是 4 。

關(guān)于 ceil 函數(shù)不準(zhǔn)確的問(wèn)題,在《PHP 浮點(diǎn)數(shù)計(jì)算比較及取整不準(zhǔn)確的解決方法》一文中也曾提及,在 PHP 中可以方便的用 round() 函數(shù)進(jìn)行處理。但 JavaScript 中的 Math.round() 過(guò)于粗暴,因此必須單獨(dú)寫一個(gè)函數(shù)來(lái)處理這類情況,即將 1 位小數(shù)點(diǎn)后的多余的數(shù)值都取掉,在使用 Math.ceil() 方法。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 绿春县| 胶南市| 宽城| 洛宁县| 绍兴县| 马龙县| 台南县| 确山县| 军事| 辉县市| 彝良县| 息烽县| 嘉兴市| 阳谷县| 嘉兴市| 高青县| 台南市| 深州市| 咸阳市| 南召县| 宽甸| 安泽县| 济源市| 胶州市| 大安市| 保靖县| 平凉市| 万安县| 齐齐哈尔市| 丹凤县| 安达市| 贵南县| 兰考县| 宜兰市| 河北区| 张家川| 松原市| 和政县| 普陀区| 罗江县| 合作市|