java 怎么保留2位小数

例如
8.26856 变成8.26,不需要四舍五入,只要求保留后面2位小数就行

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 表示浮点型

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-25
float f = 34.232323;
BigDecimal b = new BigDecimal(f);
float f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue();
// b.setScale(2, BigDecimal.ROUND_HALF_UP) 表明四舍五入,保留两位小数
第2个回答  2013-07-06
可以先转化成字符串,然后根据小数点截取。
double a=8.26856;

String c =a+"";
int s = c.indexOf(".");
double count = Double.parseDouble(c.substring(0,s+3));
count就是你要的数字。
第3个回答  2013-07-06
先乘以100 强转int 然后再除以100 类型为double

double a=8.26856;
int b=(int)(a*100);
a=(double)b /100;本回答被提问者采纳
相似回答