您的位置:首页 > 编程语言 > Java开发

java如何使Double类型保留两位小数;

2012-03-24 14:42 441 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: