「java使用double」java使用什么字符集

博主:adminadmin 2023-01-03 22:33:10 684

本篇文章给大家谈谈java使用double,以及java使用什么字符集对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

double在java里起什么作用

double可以定义一个浮点数类型,就是含有小数点的数字。比如你要赋值一个数为1.1,那么他就不能用int定义,只能用double。

java中double型如何控制有效数字输出位数或精度?

//方法一

NumberFormat nFormat=NumberFormat.getNumberInstance();

nFormat.setMaximumFractionDigits(2);//设置小数点后面位数为

System.out.println(nFormat.format(3.1415););

方法二

double d = 14.7155;

DecimalFormat df0 = new DecimalFormat("###");

DecimalFormat df1 = new DecimalFormat("###.0");

DecimalFormat df2 = new DecimalFormat("###.00");

System.out.println(df0.format(d));

System.out.println(df1.format(d));

System.out.println(df2.format(d));

double test = Math.round(d);

System.out.println(test);

java double 简单问题

在java中浮点型(实型)数据分为双精度(double)和单精度(float),为区别两种类型,单精度数值后面必须跟f或者F,而双精度数值后面可以跟也可以不跟d或者D。

希望这个解释对你有用。

java double数据类型运算问题

使用Java,double 进行运算时,经常出现精度丢失的问题,总是在一个正确的结果左右偏0.0000**1。

特别在实际项目中,通过一个公式校验该值是否大于0,如果大于0我们会做一件事情,小于0我们又处理其他事情。

这样的情况通过double计算出来的结果去和0比较大小,尤其是有小数点的时候,经常会因为精度丢失而导致程序处理流程出错。

所以一般对double类型进行运算时,做好对结果进行处理,然后拿这个值去做其他事情。

目前总结如下:

/**

* 对double数据进行取精度.

* @param value double数据.

* @param scale 精度位数(保留的小数位数).

* @param roundingMode 精度取值方式.

* @return 精度计算后的数据.

*/

public static double round(double value, int scale,

int roundingMode) {

BigDecimal bd = new BigDecimal(value);

bd = bd.setScale(scale, roundingMode);

double d = bd.doubleValue();

bd = null;

return d;

}

/**

* double 相加

* @param d1

* @param d2

* @return

*/

public double sum(double d1,double d2){

BigDecimal bd1 = new BigDecimal(Double.toString(d1));

BigDecimal bd2 = new BigDecimal(Double.toString(d2));

return bd1.add(bd2).doubleValue();

}

/**

* double 相减

* @param d1

* @param d2

* @return

*/

public double sub(double d1,double d2){

BigDecimal bd1 = new BigDecimal(Double.toString(d1));

BigDecimal bd2 = new BigDecimal(Double.toString(d2));

return bd1.subtract(bd2).doubleValue();

}

/**

* double 乘法

* @param d1

* @param d2

* @return

*/

public double mul(double d1,double d2){

BigDecimal bd1 = new BigDecimal(Double.toString(d1));

BigDecimal bd2 = new BigDecimal(Double.toString(d2));

return bd1.multiply(bd2).doubleValue();

}

/**

* double 除法

* @param d1

* @param d2

* @param scale 四舍五入 小数点位数

* @return

*/

public double div(double d1,double d2,int scale){

// 当然在此之前,你要判断分母是否为0,

// 为0你可以根据实际需求做相应的处理

BigDecimal bd1 = new BigDecimal(Double.toString(d1));

BigDecimal bd2 = new BigDecimal(Double.toString(d2));

return bd1.divide

(bd2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();

}

这样,计算double类型的数据计算问题就可以处理了。

另外补充一下 JavaScript 四舍五入的方法:

小数点问题

Math.round(totalAmount*100)/100 (保留 2 位)

function formatFloat(src, pos)

{

return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);

}

java中double类型转换的方法是什么?

Double是对象,double是基本类型。

你好Double类型是double的包装类,在JDK1.5以后,二者可以直接相互赋值,称为自动拆箱和自动装箱。看你的提示,我推测你的jdk版本在1.5以前。

如果是这样,可以用Double中的方法,将包装类转为基本数据类型,如:

double amount = rec.getAmount().doubleValue() 。

Java基本类型:

Java基本类型共有八种,基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。

数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。JAVA中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或者操作系统的改变而改变。

实际上,JAVA中还存在另外一种基本类型void,它也有对应的包装类java.lang.Void,不过我们无法直接对它们进行操作。

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的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java使用什么字符集、java使用double的信息别忘了在本站进行查找喔。