導航:首頁 > 編程語言 > java定義double

java定義double

發布時間:2023-09-24 14:07:48

java double類型

double類型直接進行運算會出現精度問題,可先轉換為字元串之後再進行運算。
import java.math.BigDecimal;
public class Arith {
// 默認除法運算精度
private static final int DEF_DIV_SCALE = 10;

// 這個類不能實例化
private Arith() {
}
public static double add(double v1, double v2)
{
BigDecimal b1 = new
BigDecimal(Double.toString(v1));
BigDecimal b2 = new
BigDecimal(Double.toString(v2));
return
b1.add(b2).doubleValue();
}

public static double sub(double v1, double v2)
{
BigDecimal b1 = new
BigDecimal(Double.toString(v1));
BigDecimal b2 = new
BigDecimal(Double.toString(v2));
return
b1.subtract(b2).doubleValue();
}
public static double mul(double v1, double v2)
{
BigDecimal b1 = new
BigDecimal(Double.toString(v1));
BigDecimal b2 = new
BigDecimal(Double.toString(v2));
return
b1.multiply(b2).doubleValue();
}
public static double div(double v1, double v2) {
return
div(v1, v2, DEF_DIV_SCALE);
}
public static double div(double v1, double v2, int scale)
{
if (scale < 0) {
throw new
IllegalArgumentException(
"The
scale must be a
positive integer or
zero");
}
BigDecimal b1 = new
BigDecimal(Double.toString(v1));
BigDecimal b2 = new
BigDecimal(Double.toString(v2));
return b1.divide(b2, scale,
BigDecimal.ROUND_HALF_UP).doubleValue();
}
public static double round(double v, int scale) {
if
(scale < 0) {
throw new
IllegalArgumentException(
"The
scale must be a
positive integer or
zero");
}
BigDecimal b = new
BigDecimal(Double.toString(v));
BigDecimal one = new
BigDecimal("1");
return b.divide(one, scale,
BigDecimal.ROUND_HALF_UP).doubleValue();
}
}
public class test {
public static void main(String[] args)
{
double d1=0.2;
double d2=0.1;
double
d3=d1+d2;
System.out.println(Arith.add(d1,
d2));
System.out.println(Arith.sub(d1,
d2));
System.out.println(d3);
}
}

Ⅱ Java中是怎麼確定double的長度

int x=a 就是給變數 x 定義了 int 的類型,a 就是這個變數的值,它是以二進制存儲的,例如數字 2在 Java 虛擬機中存儲為 0000 0010。
double 是一個浮點數的變數定義,為 64 位(bit),一個 double 型的數字變數,長度同樣是有限的,然而由於 double 變數不是用二進制來存儲的,所以也沒有多少人明白 double 類型變數的小數部分是怎樣存儲在虛擬機中的。你可以試著用 System.out.println 的方式在命令中列印出兩個double 變數 0.1+0.2 的和,結果為 0.3000.....4,這就是它不用二進制的方式存儲造成的結果。
如果你想確定的是一個數的長度(位數),我不知道 getLength 這個方法對數字有沒有作用,如果沒有的話就轉變成 String 的變數,再使用 getLength 的方法確定長度。
double n=0.1234567;
String N=Double.parseDouble(n);
這樣 N 這個變數就絕對能確定長度了,但是要注意的是,在 String 里,小數點同樣算作一位,不要忘記去掉!

Ⅲ 在java中 浮點類型如何定義

與表示整數的整型不同,浮點型代表的是實數,其實就是包含小數的部分。我們也知道現實世界中是由很多復雜的數據的,所以需要這種表示實數的數據類型的支持。
一、浮點型常量 Java的實常數有兩種表示形式:十進制數形式,由數字和小數點組成,且必須有小數點,如0.123, .123, 123. ,123.0 。 2.科學計數法形式。如:123e3或123E3,其中e或E之前念蠢必須有數字,且e或E後面的指數必須為整數。 實常數在機器中佔64位,具有double型的值。對於宴高昌float型的值,則要在數字後加f或F,如12.3F,它在機器中佔32位,且表示精度較低。
二、浮點型變數 浮點型變數的類型有float和double兩種。數據類型所佔位數的范圍: float 32位 3.4e-038~3.4e+038 ; double 64位 1.7e-308~1.7e+308 ; 雙精度類型double比單精度類型float具有更高的精度,和更大的表示範圍,常常用於科學計算等高精度場合。
三、浮點型變數晌扒定義舉例 float f; //指定變數f為float型 double d; //指定變數d為double型 與C、C++不同,Java中沒有無符號型整數,而且明確規定了整型和浮點型數據所佔的內存位元組數,這樣就保證了安全性、魯棒性和平台無關性

Ⅳ double在java里起什麼作用

double可以定義一個浮點數類型,就是含有小數點的數字。比如你要賦值一個數為1.1,那麼他就不能用int定義,只能用double。

閱讀全文

與java定義double相關的資料

熱點內容
思科伺服器如何發布www任務 瀏覽:680
怎麼在蘋果裡面下王者安卓版的 瀏覽:686
c語言改編程序沒保存 瀏覽:437
msdos編譯教程 瀏覽:978
怎麼去文件夾後綴 瀏覽:445
粉筆app筆試真題在哪裡 瀏覽:108
晉江小說閱讀app怎麼注冊填寫驗證 瀏覽:157
安卓手機如何將手機app安裝到u盤 瀏覽:520
指針編譯在哪運行 瀏覽:810
dnf大槍壓縮補丁 瀏覽:355
linux命令env 瀏覽:914
浙江app遙控鎖哪裡有 瀏覽:708
qq別人加密了怎樣才能給他解開 瀏覽:253
程序員離職開店 瀏覽:770
excel不能對多重區域使用此命令 瀏覽:969
手機影像演算法盤點 瀏覽:729
反編譯為什麼不能得到源代碼 瀏覽:926
php最流行的框架 瀏覽:191
cnc編程哪種軟體好 瀏覽:1004
電腦編程軟體報班學習 瀏覽:507