Java处理Double类型的小数位保留问题

  • Post author:
  • Post category:java


无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以

跳转到教程



复制代码


代码如下:


import java.text.DecimalFormat;

DecimalFormat    df   = new DecimalFormat(“######0.00”);

double d1 = 3.23456

double d2 = 0.0;

double d3 = 2.0;

df.format(d1);

df.format(d2);

df.format(d3);

3个结果分别为:



复制代码


代码如下:


3.23

0.00

2.00

java保留两位小数问题:

方式一:

四舍五入



复制代码


代码如下:


double   f   =   111231.5585;

BigDecimal   b   =   new   BigDecimal(f);

double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();

保留两位小数

方式二:



复制代码


代码如下:


java.text.DecimalFormat   df   =new   java.text.DecimalFormat(“#.00”);

df.format(你要格式化的数字);

例:



复制代码


代码如下:


new java.text.DecimalFormat(“#.00”).format(3.1415926)

#.00 表示两位小数 #.0000四位小数 以此类推…

方式三:



复制代码


代码如下:


double d = 3.1415926;

String result = String .format(“%.2f”);

%.2f %. 表示 小数点前任意位数   2 表示两位小数 格式后的结果为f 表示浮点型

方式四:



复制代码


代码如下:


NumberFormat ddf1=NumberFormat.getNumberInstance() ;

void setMaximumFractionDigits(int digits)

digits 显示的数字位数

为格式化对象设定小数点后的显示的最多位,显示的最后位是舍入的



复制代码


代码如下:


import java.text.* ;

import java.math.* ;

class TT

{

public static void main(String args[])

{ double x=23.5455;

NumberFormat ddf1=NumberFormat.getNumberInstance() ;


ddf1.setMaximumFractionDigits(2);

String s= ddf1.format(x) ;

System.out.print(s);

}

}



复制代码


代码如下:


import java.text.*;

DecimalFormat df=new DecimalFormat(“.##”);

double d=1252.2563;

String st=df.format(d);

System.out.println(st);



复制代码


代码如下:


mport java.text.DecimalFormat;

DecimalFormat    df   = new DecimalFormat(“######0.00”);

double d1 = 3.23456

double d2 = 0.0;

double d3 = 2.0;

df.format(d1);

df.format(d2);

df.format(d3);

3个结果分别为:



复制代码


代码如下:


3.23

0.00

2.00

java保留两位小数问题:

方式一:

四舍五入



复制代码


代码如下:


double   f   =   111231.5585;

BigDecimal   b   =   new   BigDecimal(f);

double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();

保留两位小数

方式二:



复制代码


代码如下:


java.text.DecimalFormat   df   =new   java.text.DecimalFormat(“#.00”);

df.format(你要格式化的数字);

例:



复制代码


代码如下:


new java.text.DecimalFormat(“#.00”).format(3.1415926)

#.00 表示两位小数 #.0000四位小数 以此类推…

方式三:



复制代码


代码如下:


double d = 3.1415926;

String result = String .format(“%.2f”);

%.2f %. 表示 小数点前任意位数   2 表示两位小数 格式后的结果为f 表示浮点型

方式四:



复制代码


代码如下:


NumberFormat ddf1=NumberFormat.getNumberInstance() ;

void setMaximumFractionDigits(int digits)

digits 显示的数字位数

为格式化对象设定小数点后的显示的最多位,显示的最后位是舍入的



复制代码


代码如下:


import java.text.* ;

import java.math.* ;

class TT

{

public static void main(String args[])

{ double x=23.5455;

NumberFormat ddf1=NumberFormat.getNumberInstance() ;


ddf1.setMaximumFractionDigits(2);

String s= ddf1.format(x) ;

System.out.print(s);

}

}



复制代码


代码如下:


import java.text.*;

DecimalFormat df=new DecimalFormat(“.##”);

double d=1252.2563;

String st=df.format(d);

System.out.println(st);