现有Double类型的数据,如何转换为保留两位小数的数,返回值的类型仍然是Double类型的。

各位大虾,现有Double类型的数据,如何转换为保留两位小数的数,返回值的类型仍然是Double类型的,而不是字符串类型。

 double a=1.2345;
 a=int(a*100)/100.0;

赞楼上,顺便说下,如果是4舍5入,就是a=int(a*100+1)/100.0;
当然,这种方法理论上存在一个缺陷,就是可能有精度误差,得到的也许是类似3.140000000001或者3.13999999999999之类的数,要精确,建议你返回类型用int,decimal或者字符串。

赞楼上,顺便说下,如果是4舍5入,就是a=int(a*100+0.5/100.0;

a=int(a*100+0.5)/100.0;

在java里面没有四舍五入,c,c++才有。
java a=int(a*100+0.5)/100.0; 这种很快捷
C 直接输出system.out.printf(“%2.d”,a)

double a=1.2345;
double b = (double)((int)(a*100.0)/100);这样最后输出的才是你要的小数

用格式化输出也可以,String.format("%1.2d",double);获取到一个字符串,
blog.csdn.net/zrf1335348191/article/month/2016/01 看看我这篇关于格式化输出的文章吧