Java Math.round(),Math.ceil(),Math.floor()的區(qū)別詳解
Math.round() “四舍五入”,
小數(shù)點(diǎn)后第一位<5
- 正數(shù):Math.round(11.46)=11
- 負(fù)數(shù):Math.round(-11.46)=-11
小數(shù)點(diǎn)后第一位>5
- 正數(shù):Math.round(11.68)=12
- 負(fù)數(shù):Math.round(-11.68)=-12
小數(shù)點(diǎn)后第一位=5
- 正數(shù):Math.round(11.5)=12
- 負(fù)數(shù):Math.round(-11.5)=-11
double d = 3.1415926; double d2 = 18.58; double d3 = -15.23; double d4 = -16.85; long round1 = Math.round(d); // 結(jié)果 3 long round2 = Math.round(d2); // 結(jié)果 19 long round3 = Math.round(d3); // 結(jié)果 -15 long round4 = Math.round(d4); // 結(jié)果 -17
Math.ceil() “向上取整”, 即小數(shù)部分直接舍去,并向正數(shù)部分進(jìn)1
double d = 3.1415926; double d2 = 18.58; double d3 = -15.23; double d4 = -16.85; double d5 = -16.5; double d6 = 16.5; double ceil1 = Math.ceil(d); // 結(jié)果 4.0 double ceil2 = Math.ceil(d2); // 結(jié)果 19.0 double ceil3 = Math.ceil(d3); // 結(jié)果 -15.0 double ceil4 = Math.ceil(d4); // 結(jié)果 -16.0 double ceil5 = Math.ceil(d5); // 結(jié)果 -16.0 double ceil6 = Math.ceil(d6); // 結(jié)果 17.0
【注】該數(shù)為小數(shù)時(shí),小數(shù)部分直接舍去
Math.floor() “向下取整” ,即小數(shù)部分直接舍去
double d = 3.1415926; double d2 = 18.58; double d3 = -15.23; double d4 = -16.85; double d5 = -16.5; double d6 = 16.5; double floor1 = Math.floor(d); // 結(jié)果 3.0 double floor2 = Math.floor(d2); // 結(jié)果 18.0 double floor3 = Math.floor(d3); // 結(jié)果 -16.0 double floor4 = Math.floor(d4); // 結(jié)果 -17.0 double floor5 = Math.floor(d5); // 結(jié)果 -17.0 double floor6 = Math.floor(d6); // 結(jié)果 16.0
【注】 Math.floor()容易出現(xiàn)精度問(wèn)題,舉個(gè)最簡(jiǎn)單例子:
對(duì)小數(shù) 8.54 保留兩位小數(shù)(雖然它已經(jīng)保留了 2 位小數(shù)):
Math.floor(8.54*100)/100 // 輸出結(jié)果為 8.53, 注意是 8.53 而不是 8.54。
所以這種函數(shù)慎用。
到此這篇關(guān)于Java Math.round(),Math.ceil(),Math.floor()的區(qū)別詳解的文章就介紹到這了,更多相關(guān)Math.round(),Math.ceil(),Math.floor()內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nacos配置注冊(cè)中心時(shí)指定命名空間不起作用的問(wèn)題
這篇文章主要介紹了nacos配置注冊(cè)中心時(shí)指定命名空間不起作用的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。2022-01-01引入QQ郵箱發(fā)送驗(yàn)證碼進(jìn)行安全校驗(yàn)功能實(shí)現(xiàn)
最近遇到這樣的需求用戶(hù)輸入自己的郵箱,點(diǎn)擊獲取驗(yàn)證碼,后臺(tái)會(huì)發(fā)送一封郵件到對(duì)應(yīng)郵箱中,怎么實(shí)現(xiàn)呢?下面小編給大家?guī)?lái)了引入QQ郵箱發(fā)送驗(yàn)證碼進(jìn)行安全校驗(yàn)功能,需要的朋友可以參考下2023-02-02SpringBoot yml配置文件調(diào)用過(guò)程解析
這篇文章主要介紹了SpringBoot yml配置文件調(diào)用過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11Java判斷101-200之間有多少個(gè)素?cái)?shù)并輸出
這篇文章主要介紹了Java判斷101-200之間有多少個(gè)素?cái)?shù)并輸出,需要的朋友可以參考下2017-02-02Java靜態(tài)代碼塊加載驅(qū)動(dòng)代碼實(shí)例
這篇文章主要介紹了Java靜態(tài)代碼塊加載驅(qū)動(dòng)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07Java中this,static,final,const用法詳解
這篇文章主要介紹了Java中this,static,final,const用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07SpringBoot2使用WebFlux函數(shù)式編程的方法
這篇文章主要介紹了SpringBoot2使用WebFlux函數(shù)式編程的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08Lombok的@CustomLog流暢的公司多場(chǎng)景日志
這篇文章主要為大家介紹了Lombok的@CustomLog流暢的公司多場(chǎng)景日志開(kāi)發(fā)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02SpringBoot的@EnableAsync和@Async注解分析
這篇文章主要介紹了SpringBoot的@EnableAsync和@Async注解分析,Spring Boot是一個(gè)快速開(kāi)發(fā)框架,可以幫助開(kāi)發(fā)人員快速構(gòu)建基于Spring的應(yīng)用程序,需要的朋友可以參考下2023-07-07java使用BeanUtils.copyProperties踩坑經(jīng)歷
最近在做個(gè)項(xiàng)目,踩了個(gè)坑特此記錄一下,本文主要介紹了使用BeanUtils.copyProperties踩坑經(jīng)歷,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05