首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于四舍五入取小数点二位

2012-12-26 
关于四舍五入取小数点2位int f(int)(A*100+0.5)double F(double)f/100为什么这样输出的F就是能去到小

关于四舍五入取小数点2位
int f=(int)(A*100+0.5);
double F=(double)f/100;

为什么这样输出的F就是能去到小数点2位的呢?
[解决办法]
int f
中就已经把小数的部分给去掉了啊。
再转回来也不会提高精度的。
[解决办法]
在强转的时候  自动过滤掉了
[解决办法]
楼上这么一说我也好像有点明白了
 应该是你的  f  已经强制转换成一个整数了,所以你在后面用  f/100  算出来的数最多也就俩位小数点啊
不知道是不是这么个意思
[解决办法]

public static void main(String[] args) {
//没损失精度的
double g=(1.211111*100+0.5);
System.out.println("g====="+g);
double G = g/100;
System.out.println("G====="+G);
//下面是损失精度后的
int f=(int)(1.211111*100+0.5);
System.out.println("f====="+f);
double F=(double)f/100;
System.out.println("F====="+F);
}

结果是
g=====121.61110000000001
G=====1.2161110000000002
f=====121
F=====1.21

热点排行
Bad Request.