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

java double類(lèi)型相加精度問(wèn)題的解決

 更新時(shí)間:2021年01月21日 10:45:09   作者:qq_26676207  
這篇文章主要介紹了java double類(lèi)型相加精度問(wèn)題的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

我就廢話不多說(shuō)了,大家還是直接看代碼吧~

package com.hxyl.action; 
import java.text.DecimalFormat;
public class Test { 
	public static void main(String[] args) { 
		// DecimalFormat 類(lèi)主要靠 # 和 0 兩種占位符號(hào)來(lái)指定數(shù)字長(zhǎng)度。0 表示如果位數(shù)不足則以 0 填充,# 會(huì)把最后面的零默認(rèn)省略。		
		DecimalFormat df = new DecimalFormat("0.000");
		
		double d1 = 116.32;
		double d2 = 0.11;
		double cc=d1+d2;
		//cc===116.42999999999999(不做處理就是這樣)
		System.out.println("cc===="+cc);
 
		//dd====116.430
		System.out.println("dd===="+df.format(d1+d2));
		DecimalFormat df1 = new DecimalFormat("#.###");
		
		double d11 = 116.32;
		double d21 = 0.11;
		//dd====116.43
		System.out.println("dd1===="+df1.format(d11+d21));		
	} 
}
doublepi=3.1415927; //圓周率
    //取一位整數(shù)
    System.out.println(newDecimalFormat("0").format(pi));   //3
    //取一位整數(shù)和兩位小數(shù)
    System.out.println(newDecimalFormat("0.00").format(pi)); //3.14
    //取兩位整數(shù)和三位小數(shù),整數(shù)不足部分以0填補(bǔ)。
    System.out.println(new DecimalFormat("00.000").format(pi));// 03.142
    //取所有整數(shù)部分
    System.out.println(newDecimalFormat("#").format(pi));   //3
    //以百分比方式計(jì)數(shù),并取兩位小數(shù)
    System.out.println(new DecimalFormat("#.##%").format(pi)); //314.16%  
    longc=299792458;  //光速
    //顯示為科學(xué)計(jì)數(shù)法,并取五位小數(shù)
    System.out.println(newDecimalFormat("#.#####E0").format(c)); //2.99792E8
    //顯示為兩位整數(shù)的科學(xué)計(jì)數(shù)法,并取四位小數(shù)
    System.out.println(newDecimalFormat("00.####E0").format(c)); //29.9792E7
    //每三位以逗號(hào)進(jìn)行分隔。
    System.out.println(newDecimalFormat(",###").format(c));   //299,792,458
    //將格式嵌入文本
    System.out.println(newDecimalFormat("光速大小為每秒,###米。").format(c));

補(bǔ)充:java double類(lèi)型運(yùn)算避免精度丟失

/**
	 * 保留兩位小數(shù)
	 * 
	 * @param values
	 * @return
	 */
	public static double format2(double values) {
		return new BigDecimal(Double.toString(values)).setScale(2, RoundingMode.HALF_UP).doubleValue();
	} 
 
	/**
	 * 
	 * @param values
	 *   乘數(shù)
	 * @param values2
	 *   被乘數(shù)
	 * @param digit
	 *   保留位數(shù)
	 * @return
	 */
	public static double multiplication(double values, double values2, int digit) {
		BigDecimal b1 = new BigDecimal(Double.toString(values));
		BigDecimal b2 = new BigDecimal(Double.toString(values2));
		return b1.multiply(b2).setScale(digit, RoundingMode.HALF_UP).doubleValue();
	} 
 
	/**
	 * 相加
	 * 
	 * @param d1
	 * @param d2
	 * @return
	 */
	public static double sum(double d1, double d2) {
		BigDecimal b1 = new BigDecimal(Double.toString(d1));
		BigDecimal b2 = new BigDecimal(Double.toString(d2));
		return b1.add(b2).setScale(2, RoundingMode.HALF_UP).doubleValue();
	} 
 
	/**
	 * 相減
	 * 
	 * @param d1
	 * @param d2
	 * @return
	 */
	public static double sub(double d1, double d2) {
		BigDecimal b1 = new BigDecimal(Double.toString(d1));
		BigDecimal b2 = new BigDecimal(Double.toString(d2));
		return b1.subtract(b2).setScale(2, RoundingMode.HALF_UP).doubleValue();
	} 
 
	/**
	 * 相除
	 * 
	 * @param d1
	 *   除數(shù)
	 * @param d2
	 *   被除數(shù)
	 * @return
	 */
	public static double divide(double d1, double d2) {
		if (d1 == 0d || d2 == 0d) {
			return 0d;
		}
		BigDecimal b1 = new BigDecimal(Double.toString(d1));
		BigDecimal b2 = new BigDecimal(Double.toString(d2));
		return new Double(b1.divide(b2, 2, BigDecimal.ROUND_HALF_UP).doubleValue());
	}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Spring Date jpa 獲取最新一條數(shù)據(jù)的實(shí)例代碼

    Spring Date jpa 獲取最新一條數(shù)據(jù)的實(shí)例代碼

    這篇文章主要介紹了Spring Date jpa 獲取最新一條數(shù)據(jù)的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • springboot如何集成Minio文件服務(wù)器

    springboot如何集成Minio文件服務(wù)器

    這篇文章主要介紹了springboot如何集成Minio文件服務(wù)器問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • springboot解決前后端分離時(shí)的跨域問(wèn)題

    springboot解決前后端分離時(shí)的跨域問(wèn)題

    這篇文章主要介紹了springboot如何解決前后端分離時(shí)的跨域問(wèn)題,幫助大家更好的理解和學(xué)習(xí)使用springboot,感興趣的朋友可以了解下
    2021-04-04
  • 基于java讀取并引用自定義配置文件

    基于java讀取并引用自定義配置文件

    這篇文章主要介紹了基于java讀取并引用自定義配置文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Java 3種方法實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換

    Java 3種方法實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換

    這篇文章主要介紹了Java 3種方法實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換,幫助大家利用Java處理數(shù)據(jù),感興趣的朋友可以了解下
    2020-09-09
  • 自定義mybatis插件如何實(shí)現(xiàn)sql日志打印

    自定義mybatis插件如何實(shí)現(xiàn)sql日志打印

    這篇文章主要介紹了自定義mybatis插件如何實(shí)現(xiàn)sql日志打印問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 通過(guò)openOffice將office文件轉(zhuǎn)成pdf

    通過(guò)openOffice將office文件轉(zhuǎn)成pdf

    這篇文章主要介紹了通過(guò)openOffice將office文件轉(zhuǎn)成pdf,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java中的OpenTracing使用實(shí)例

    Java中的OpenTracing使用實(shí)例

    這篇文章主要介紹了Java中的OpenTracing使用實(shí)例,主要的OpenTracing API將所有主要組件聲明為接口以及輔助類(lèi),例如Tracer,Span,SpanContext,Scope,ScopeManager,Format(用映射定義通用的SpanContext注入和提取格式),需要的朋友可以參考下
    2024-01-01
  • Java SpringMVC實(shí)現(xiàn)國(guó)際化整合案例分析(i18n)

    Java SpringMVC實(shí)現(xiàn)國(guó)際化整合案例分析(i18n)

    本篇文章主要介紹了Java SpringMVC實(shí)現(xiàn)國(guó)際化整合案例分析(i18n),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • IntelliJ IDEA 安裝及初次使用圖文教程(2020.3.2社區(qū)版)

    IntelliJ IDEA 安裝及初次使用圖文教程(2020.3.2社區(qū)版)

    這篇文章主要介紹了IntelliJ IDEA 安裝及初次使用(2020.3.2社區(qū)版),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03

最新評(píng)論

丰县| 盐山县| 海盐县| 阿拉善盟| 丘北县| 托克逊县| 龙里县| 翁源县| 敦化市| 游戏| 来宾市| 栾川县| 教育| 县级市| 拜城县| 泉州市| 高台县| 海城市| 莱芜市| 古丈县| 奈曼旗| 繁昌县| 永泰县| 依安县| 永康市| 寿光市| 天长市| 甘洛县| 西和县| 惠水县| 香河县| 阳原县| 紫阳县| 凌云县| 常山县| 石嘴山市| 澄城县| 德兴市| 肇源县| 高要市| 吉木乃县|