1. 怎樣用java實現小數的四捨五入
編程上四捨五入一般都是通過加一個小數看是否自動進1來完成的。
打個比方12.563,要求保留兩個小數,四捨五入,則可以這樣做:
第一步:12.563+0.005=12.568
第二步:12.568*100=1256.8
第三步:對1256.8強制轉換為int類型(int)(1256.8)=1256
第四步:得出結果(double)(1256)/100=12.56
結果就是12.563保留兩個小數並四捨五入的結果為12.56
不同的變成語言也行寫法上不一樣,但總體的理論是一樣的。
2. java中小數怎麼四捨五入
按照你的要求為不確定保留幾位小數的字元串做四捨五入的Java程序如下
import java.math.BigDecimal;
public class A {
public static void main(String[] args) {
String s="0.00000999999997";
//四捨五入,length是小數位數
int length=s.substring(s.indexOf(".")+1).length();
String s1=String.format("%."+(length-1)+"f",new BigDecimal(s));
//去尾部0
BigDecimal bd=new BigDecimal(s1).stripTrailingZeros();
System.out.println(bd.toPlainString());
}
}
3. 要四捨五入保留一位小數,JAVA如何實現
floatf=Math.round(3.945*10)/10
3.954用自己的數代替
f就是四捨五入保留一位小數後的結果
4. 如何在java中輸出格式為四捨五入
方法如下:
double d; //d為需要四捨五入的浮點數
int i=(int)(d+0.5); //i為四捨五入後的整數
如果d小數點後的數回是答0~4,那麼d+0.5之後小數點後的數是5~9,將其轉化為int,捨去小數點後的數,只保留原先的整數部分
如果d小數點後的數是5~9,那麼d+0.5之後小數點後的數是0~4,整數部分的個位數+1,將其轉化為int,捨去小數點後的數,只保留+1之後的整數部分
以下是示例代碼:
5. Java幾種常見的四捨五入的方法
下面給你介紹3種常見的四捨五入:
// 方式一:BigDecimal方式
double f = 3.1315;
BigDecimal b = new BigDecimal(new Double(f).toString);
double f1 = b.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();
注意:這里一定不要直接使用new BigDecimal(double)的構造方法,而要使用new BigDecimal(new Double(1.1315).toString())的方式,不然會出現精確問題
// 方式二:DecimalFormat方式
//DecimalFormat默認採用了RoundingMode.HALF_EVEN這種類型,而且format之後的結果是一個字元串類型String
DecimalFormat df = new DecimalFormat("#.000");
System.out.println(df.format(new BigDecimal(1.0145)));//1.014
System.out.println(df.format(new BigDecimal(1.1315)));//1.132
// 方式三:
double d = 3.1415926;
String result = String.format("%.2f", d);
// %.2f %. 表示 小數點前任意位數 2 表示兩位小數 格式後的結果為f 表示浮點型。