最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java double類型比較大小詳解

 更新時(shí)間:2021年12月13日 11:56:04   作者:碼農(nóng)致富  
這篇文章主要介紹了Java double類型比較大小,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Java double類型比較大小

一、問題描述

把從數(shù)據(jù)庫里查詢出來的數(shù)據(jù),金額小于1的數(shù)據(jù)給過濾掉,數(shù)據(jù)庫里的數(shù)據(jù)有很多都是0.01,0.02,等。

二、解決方法

先把他們轉(zhuǎn)成BigDecimal類型,然后在利用BigDecimal中的compareTo方法去比較大小,實(shí)現(xiàn)如下:

	@org.junit.Test
	public void Test(){
		BigDecimal big = new BigDecimal(1);
		BigDecimal Graphicprice = new BigDecimal(0.01);//圖文價(jià)格
		BigDecimal Speechprice = new BigDecimal(0.02);//語音價(jià)格
		BigDecimal Videoprice = new BigDecimal(1);//視頻價(jià)格
		System.out.println(Graphicprice + " " + Speechprice +" " + Videoprice);
		if(Graphicprice.compareTo(big)<0 || Graphicprice.compareTo(big)==0 || Speechprice.compareTo(big)<0 || Speechprice.compareTo(big)==0 || Videoprice.compareTo(big)<0 || Videoprice.compareTo(big)==0){
			System.out.println("ok");
		}
	}

輸出結(jié)果如下:

	@org.junit.Test
	public void Test(){ 
		BigDecimal data1 = new BigDecimal("1");
		BigDecimal data2 = new BigDecimal("0.01");
		if (data1.compareTo(data2) < 0) {
			System.out.println("第二位數(shù)大!");
		}
		if (data1.compareTo(data2) == 0) {
			System.out.println("兩位數(shù)一樣大!");
		}
		if (data1.compareTo(data2) > 0) {
			System.out.println("第一位數(shù)大!");
		} 
	}

關(guān)于兩個(gè)double類型數(shù)的大小判斷

大于小于是可以像整數(shù)那樣直接判斷的,但是不可以判斷兩個(gè)double是相等的。

因?yàn)?/strong>

double類型的表示往往是不精確的(近似表示). 有精度范圍的那種. 如果是運(yùn)算結(jié)果,即使都是0.0,也不保證相等!一般用一個(gè)容差e(很小的值)

那么a和b相等就可以表示為

if ( fabs(a-b) < e )
return true;

注意:double類型雖然可以通過>和<直接比較,但是大于等于,小于等于是不能直接>=和<=比較的。

錯(cuò)誤比較方式:now >= mid*n

正確比較方式:now - mid * n > -0.000001

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java JUnit 使用及常用注解

    Java JUnit 使用及常用注解

    JUnit是Java開發(fā)中必不可少的測(cè)試框架之一,它可以幫助您編寫高質(zhì)量、可維護(hù)的單元測(cè)試,本文介紹了JUnit的基本用法、常用注解、測(cè)試套件和參數(shù)化測(cè)試等內(nèi)容,希望對(duì)您的測(cè)試工作有所幫助,感興趣的朋友一起看看吧
    2023-12-12
  • Java多線程面試題(面試官常問)

    Java多線程面試題(面試官常問)

    這篇文章主要介紹了Java多線程面試題(面試官常問),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Java多線程高并發(fā)中解決ArrayList與HashSet和HashMap不安全的方案

    Java多線程高并發(fā)中解決ArrayList與HashSet和HashMap不安全的方案

    ArrayList實(shí)現(xiàn)了可變大小的數(shù)組。它允許所有元素,包括null。ArrayList沒有同步,HashMap和Hashtable類似,不同之處在于HashMap是非同步的,并且允許null,關(guān)于HashSet有一件事應(yīng)該牢記,即就條目數(shù)和容量之和來講,迭代是線性的,接下來讓我們?cè)敿?xì)來了解吧
    2021-11-11
  • 全面理解Java類和對(duì)象

    全面理解Java類和對(duì)象

    下面小編就為大家?guī)硪黄胬斫釰ava類和對(duì)象。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • 深入理解Java main方法詳解

    深入理解Java main方法詳解

    這篇文章主要為大家介紹了Java main方法詳解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • Java正確比較浮點(diǎn)數(shù)的方法

    Java正確比較浮點(diǎn)數(shù)的方法

    這篇文章主要介紹了Java正確比較浮點(diǎn)數(shù)的方法,幫助大家更好的利用Java比較浮點(diǎn)數(shù)數(shù)據(jù),感興趣的朋友可以了解下
    2020-11-11
  • 關(guān)于服務(wù)網(wǎng)關(guān)Spring Cloud Zuul(Finchley版本)

    關(guān)于服務(wù)網(wǎng)關(guān)Spring Cloud Zuul(Finchley版本)

    這篇文章主要介紹了關(guān)于服務(wù)網(wǎng)關(guān)Spring Cloud Zuul(Finchley版本),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 詳解Java向服務(wù)端發(fā)送文件的方法

    詳解Java向服務(wù)端發(fā)送文件的方法

    這篇文章主要為大家詳細(xì)介紹了Java向服務(wù)端發(fā)送文件的方法,主要是IO流,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Java三大特性之封裝詳解

    Java三大特性之封裝詳解

    面向?qū)ο缶幊陶Z言是對(duì)客觀世界的模擬,客觀世界里成員變量都是隱藏在對(duì)象內(nèi)部的,外界無法直接操作和修改。?封裝可以被認(rèn)為是一個(gè)保護(hù)屏障,防止該類的代碼和數(shù)據(jù)被其他類隨意訪問。本文將來和大家詳細(xì)說說Java中的封裝,需要的可以了解一下
    2022-10-10
  • 基于Spring AOP的Log收集匯總

    基于Spring AOP的Log收集匯總

    張三針對(duì)公司現(xiàn)有日志處理系統(tǒng)的不足,采用了SpringAOP技術(shù)和Redis存儲(chǔ),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)性能更高效的日志處理系統(tǒng),該系統(tǒng)通過SpringAOP的切面攔截功能,捕獲方法調(diào)用信息作為日志內(nèi)容,并將其統(tǒng)一格式化后存儲(chǔ)到Redis中
    2024-10-10

最新評(píng)論

千阳县| 商南县| 托克托县| 田阳县| 哈密市| 泸定县| 会同县| 桃江县| 阿拉尔市| 北川| 鹤壁市| 湖口县| 乌海市| 苍山县| 海门市| 永兴县| 泸水县| 宁远县| 宁南县| 恭城| 洛南县| 黄冈市| 扎兰屯市| 象州县| 遂宁市| 边坝县| 开远市| 鹰潭市| 洛宁县| 河源市| 枣强县| 双江| 图片| 敦化市| 武夷山市| 郴州市| 登封市| 定边县| 金阳县| 清新县| 庆元县|