導航:首頁 > 編程語言 > javadouble取小數

javadouble取小數

發布時間:2024-05-11 15:33:08

java的double類型隨機數怎麼保留小數點後兩位 要求是不改變數據類型

一個簡單的思路:

保留兩位小數是需要四捨五入的,Math類中的round方法就是將double型轉為long型:static long round(double a) ,遵循四捨五入的規則。

所以可以先讓隨機數乘以100,四捨五入後,再除以100,變為double型。

注意 m / n,必須 m 或者 n 是double型,結果才是double型。所以這里可以將分子強制轉為double型:(double) Math.round(v * 100) 或者把分母100寫為100.0都可以。

❷ java里0.20000000如何保留五位小數

Java中Double保留後小數位的幾種方法

1.能四捨五入

1 double d = 114.145;2 d = (double) Math.round(d * 100) / 100;3 System.out.println(d);

2.BigDecimal.ROUND_HALF_UP表示四捨五入,BigDecimal.ROUND_HALF_DOWN也是五舍六入,BigDecimal.ROUND_UP表示進位處理(就是直接加1),BigDecimal.ROUND_DOWN表示直接去掉尾數。

1 double d = 114.145;2 BigDecimal b = new BigDecimal(d);3 d = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
4 System.out.println(d);

返回String型的

1.#.00表示保留後兩位,它的處理方式是直接截掉不要的尾數,不四捨五入。

1 double d = 114.145;2 DecimalFormat df = new DecimalFormat("#.00");3 String str = df.format(d);4 System.out.println(str);

2.%.2f表示保留後兩位,它的處理方式也是直接截掉不要的尾數,不四捨五入。

1 double d = 114.145;2 String.format("%.2f", d);

3.RoundingMode.HALF_DOWN表示五舍六入,負數先取絕對值再五舍六入再負數,RoundingMode.HALF_UP:表示四捨五入,負數先取絕對值再五舍六入再負數。

1 double d = 114.1452 NumberFormat nf = NumberFormat.getNumberInstance();3 // 保留兩位小數4 nf.setMaximumFractionDigits(2);
5 // 如果不需要四捨五入,可以使用RoundingMode.DOWN6 nf.setRoundingMode(RoundingMode.UP);7 System.out.println(nf.format(d));

❸ 利用java設計在一串字元串中提取幾個double類型有小數點的數字

packagesv;


importjava.util.Scanner;


publicclassSadasTest{

publicstaticDoublegss(intn){

doublea=1;

for(inti=1;i<=n;++i)

a=a*0.1;

returna;

}

publicstaticvoidf(Strings){

Stringstr="a"+s+"b";

intj=0;

intx=0;

intflag=0;

intflag1=1;

doubley=0;

intgs=1;

double[]arry=newdouble[100];

for(inti=0;i<str.length();++i){

if(Character.isDigit(str.charAt(i))||str.charAt(i)=='.'){

flag=i;

if(Character.isDigit(str.charAt(i))){

if(flag1==1)

x=x*10+Integer.parseInt(String.valueOf(str.charAt(i)));

else{

y=y+(Integer.parseInt(String.valueOf(str.charAt(i))))*gss(gs);

gs++;

}

}else

flag1=0;

}elseif(flag==i-1&&i!=1/*&&(flag==0&&i!=1)*/)

{

arry[j]=x+y;

j++;

x=0;

y=0;

gs=1;

flag1=1;

}


}

for(intm=0;m<j;m++){

inta=(int)arry[m];

if(arry[m]!=a)

System.out.print(arry[m]+" ");

else

System.out.print((int)arry[m]+" ");

}

}

publicstaticvoidmain(String[]args){

Scannersc=newScanner(System.in);

Stringstr=sc.next();

f(str);


}


}

❹ java 取兩位小數 不要四捨五入怎麼做

  1. 對一個小數點後有多位數的實數,取兩位小數而不四捨五入,有兩種方案:

  2. 乘100再強轉成int,再除以100就得到了想要的數

  3. 也可以寫一個小工具,以便以後重復使用,代碼如下:

  4. 	/**
    *a為一個帶有未知位小數的實數
    *對其取b位小數
    *@parama
    *@paramb
    *@return
    */
    staticdoublegetDouble(doublea,intb){
    intx=0;
    inty=1;
    for(inti=0;i<b;i++){
    y=y*10;
    }
    System.out.println(y);
    x=(int)(a*y);
    System.out.println("x="+x);
    return(double)x/y;
    }
閱讀全文

與javadouble取小數相關的資料

熱點內容
陝西聯通dns伺服器地址 瀏覽:937
js表格即時編譯 瀏覽:302
51單片機串口拓展 瀏覽:305
重裝系統後加密圖片損壞 瀏覽:463
電腦怎麼放大縮小app窗口 瀏覽:523
教育十APP學校怎麼更改 瀏覽:821
空調外機壓縮機熱保護 瀏覽:754
winlinux雙系統卸載 瀏覽:239
如何對安卓應用反編譯 瀏覽:410
鯤鵬pc伺服器是什麼 瀏覽:572
一級防震梁箍筋加密 瀏覽:928
linuxxampp64位 瀏覽:728
西安哪個app能買到東西 瀏覽:457
eps命令鍵 瀏覽:38
塑料文件夾的尺寸 瀏覽:210
君威壓縮機電磁閥 瀏覽:945
安卓6手機為什麼不能用app 瀏覽:860
什麼java編譯器支持中文 瀏覽:564
香港伺服器如何做代理 瀏覽:201
pdf寫入 瀏覽:986