「java返回小数」java中的小数

博主:adminadmin 2022-12-24 12:15:06 60

今天给各位分享java返回小数的知识,其中也会对java中的小数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java怎么取实数中的小数部分

首先楼上那两位对于普通的使用场景来说基本是正确的。但是在一些需要精确结果的场景中(比如货币金额计算),double就会有问题了,比如:

(int)1023.99999999999999=1024;

再比如:

double n1=0.03;

double n2=0.02;

double n3=n1-n2;

System.out.println(n3);//0.009999999999999998

所以如果需要精确安全的操作的话,需要用到这个类:java.math.BigDecimal

调用它的divideAndRemainder方法来进行计算,该计算可以理解为:进行一次保留余数的除法运算。结果会返回一个BigDecimal类型且长度为2的数组,0下标的元素是该计算的商,1下标的元素是该结果的余数。

BigDecimal n4=new BigDecimal("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类型的数值double_int,要输出小数点后4位的字符串,如下即可:

Stringdouble_str=String.format("%.4f",double_int);

再次转化为double类型可以这样:

doubleresult=Double.valueof(double_str);

扩展资料:

java编程中控制小数点后的位数

//一般控制格式都是通过DecimalFormat来控制的,下边是个例子:

importjava.text.DecimalFormat;

publicclassControlBit{

publicstaticvoidmain(String[]argu){

doublemoney=399.74099999999993;

DecimalFormatdf=newDecimalFormat("#.00");

System.out.println(df.format(money));

}

}

Java实现数字的四舍五入并返回指定小数位数

import java.math.RoundingMode;import java.text.NumberFormat;class T { public static void main(String[] args) { System.out.println(function2(123.455, 2)); System.out.println(function2(123.449, 2)); System.out.println(function2(123.44, 3)); System.out.println(function2(123.4455, 3)); System.out.println(function2(123.4499, 3)); System.out.println(function2(123.9, 0)); } public static double function2(double value, int decimalPlaces) { NumberFormat nf = NumberFormat.getNumberInstance(); nf.setRoundingMode(RoundingMode.HALF_UP); // 四舍五入 nf.setMaximumFractionDigits(decimalPlaces); nf.setMinimumFractionDigits(decimalPlaces); return Double.valueOf(nf.format(value)); }}

输出结果

123.46

123.45

123.44

123.446

123.45

124.0

关于java返回小数和java中的小数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-24,除非注明,否则均为首码项目网原创文章,转载请注明出处。