當前位置:首頁 » 編程語言 » java取小數

java取小數

發布時間: 2023-04-23 07:56:07

java有一個小數,如何去掉小數部分

1、Math.round(float f)對小數部分四捨五入
或者強值類型轉換成int類型,直接去掉小數部分!

2、

3、向上取整:Math.ceil() //只要有小數都+1
向下取整:Math.floor() //不取小數
四捨五入:Math.round() //四捨五入

② java中 double型取小數部分

double
dd =
123.45;
//設數值則派仔
int
j
=
(int)Math.round(dd*
100);
//羨並小數點後兩位前移,並四捨五入
double
k
=
(double)j
/
100.00;
//還原小孫汪數點後兩位

③ java中取小數部分

import java.math.BigDecimal;
import java.util.Scanner;

public class GetFloat {
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
float f = in.nextFloat();
int fInt = (int) f;
BigDecimal b1 = new BigDecimal(Float.toString(f));
BigDecimal b2 = new BigDecimal(Integer.toString(fInt));
float fPoint = b1.subtract(b2).floatValue();
System.out.println("整數部分為:" + fInt + "\n" + "小數部分為: " + fPoint);
}
}

④ java怎麼取實數中的小數部分

首先樓上那兩位對於普通的使用場景來說基本是正確的。但是在一些需要精確結果的場景中(比如貨幣金額計算),double就會有問題了,比如:

(int)1023.99999999999999=1024;

再比如:

doublen1=0.03;
doublen2=0.02;
doublen3=n1-n2;
System.out.println(n3);//0.009999999999999998

所以如果需要精確安全的操作拿漏的話,需要用到這個類:java.math.BigDecimal

調用它的divideAndRemainder方法來進行計算,該計算可以理解為:進行一次保消拿爛留余數的除法運算。結果會返回一個BigDecimal類型且長度為2的數組,0下標的元素敏睜是該計算的商,1下標的元素是該結果的余數。

BigDecimaln4=newBigDecimal("1023.99999999999999");
BigDecimal[]result=n4.divideAndRemainder(BigDecimal.valueOf(1));
System.out.println(result[1].toString());//0.99999999999999

注意,構造BigDecimal對象的時候我使用的是字元串String類型的「1023.99999999999999
」,如果直接寫1023.99999999999999的話會被認為是double類型的數,然後double類型的該值為1024.0,所以給字元串類型的值可以保證BigDecimal對象接收到的數就准確無誤是我們心裡想的數。

⑤ java 除法怎樣取小數部分

(((double)lili1)/lili)
-
(lili1/lili)就可以了,如果想顯示出小數,必須要將數值轉換為float或double類型才可以,推薦double類型

⑥ 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;
    }
熱點內容
jrtplib編譯 發布:2024-11-01 18:06:01 瀏覽:226
java代碼中if 發布:2024-11-01 18:02:40 瀏覽:377
android定時刷新 發布:2024-11-01 17:59:43 瀏覽:999
炎黃解說我的世界伺服器生存 發布:2024-11-01 17:59:42 瀏覽:542
如何清楚網頁緩存 發布:2024-11-01 17:53:58 瀏覽:552
linux文件許可權不夠 發布:2024-11-01 17:53:19 瀏覽:917
c語言中10是什麼意思 發布:2024-11-01 17:45:08 瀏覽:892
裝棉衣壓縮袋 發布:2024-11-01 17:37:18 瀏覽:297
android40ble藍牙 發布:2024-11-01 17:36:58 瀏覽:712
資料庫表對比 發布:2024-11-01 17:18:42 瀏覽:985