国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表

圖片精選

主站蜘蛛池模板: 凌海市| 宜兰市| 容城县| 平安县| 容城县| 彭州市| 东阳市| 连山| 土默特右旗| 石门县| 天柱县| 仪陇县| 思茅市| 长乐市| 依兰县| 正定县| 阳春市| 长治县| 长顺县| 商丘市| 临漳县| 随州市| 隆德县| 闸北区| 温州市| 宜宾市| 云浮市| 乐山市| 嘉黎县| 周至县| 巴塘县| 西峡县| 环江| 沙洋县| 丹东市| 双桥区| 和静县| 崇义县| 江西省| 清水河县| 阿拉善左旗|