如何把double类型四舍五入到小数后两位
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;
}