您的位置:首页 > 其它

如何把double类型四舍五入到小数后两位

2013-04-16 12:28 204 查看
double类型四舍五入和数据格式化的几种方法:

1. double value = 11.11111111;

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

value = Double.parseDouble(df.format(value));

System.out.println(value);

结果为11.11

--------------------------------------------------------------------------------

2. double d = 22.365434;

BigDecimal a = new BigDecimal(d);

//第一个参数2是小数点后保留几位,第二个2是四舍五入(如果为1则直接舍掉后面多余的位)

System.out.println("a.setScale(2,2)=" + a.setScale(2, 2));

--------------------------------------------------------------------------------

转贴

// 四舍五入取小数点后 2 位。 

float f = 1.234567F; 

f = float.Parse(f.ToString("F2")); 

Console.WriteLine(f.ToString());

Math.Round()这个是四舍五入的 

f.ToString("0.00");这个只是用来显示的

double d = 1.234567; 

Console.WriteLine(d.ToString("F"));

 

Math.Round(double1, 2); 

這是最正宗的方法如果你要隻顯示到屏幕也可以這樣 

Console.WriteLine(double1.ToString("###,###,###.##");

很多都是四舍五入的,只好用这个笨办法:

double d = (double)((long)(2.378325*100))/100; 

MessageBox.Show(d.ToString(".##"));

 

刚才贴的那个方法如果末尾刚好是0数字就会不足2位小数位,改为这个:

MessageBox.Show(((double)((long)(45452.318325*100))/100).ToString(".00"));

例如:2.3023 处理后得到 2.30

 

double aa=345.6443; 

int bb; 

Decimal cc; 

bb=Decimal.Round(aa,2); 

OK了

 

double d = 2.378325; 

d = double.Parse(d.ToString("0.00")); 

不过这样会四舍五入,结果是2.38

 

1/string str="2.378325"; 

str=str.Substring( x,y);用remove也可以 

2/double d = 2.378325*100;……这样就更好处理一些

 

 

笨方法

double d=2.378325; 

int i=d.ToString().LastIndexOf("."); 

if(i!=-1) 



d=Convert.ToDouble(d.ToString().Substring(0,i+3)); 



else 



d=d;



 

原文引自:http://www.cnblogs.com/zwenwen/archive/2012/02/14/2351259.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  格式化