作业帮 > 综合 > 作业

使用JAVA编程 接收任何数,对该数字进行四舍五入,要求保留两位小数,并且从末尾开始舍入,

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/29 23:51:42
使用JAVA编程 接收任何数,对该数字进行四舍五入,要求保留两位小数,并且从末尾开始舍入,
如:3.124682-->3.13
3.22715--->3.23
3.999999-->4.00
3.11444444449--->3.12
3.127123--->3.13
要求不能使用Math中的方法
使用JAVA编程 接收任何数,对该数字进行四舍五入,要求保留两位小数,并且从末尾开始舍入,
double num = 3.22715;
//因为要保留两位小数,先将num乘以100,在求出四舍五入,四舍五入的求法就是将一个数+0.5,它的整数部分.
int temp = (int) (num*100 + 0.5);
//将得到的数转为double型 除以 100就行了
num = (double)temp/100;
System.out.println(num);
-------------------------------------------------------
补充一下:
3.11444444449--->3.12
这个不叫四舍五入,如果这也叫四舍五入的话,那么在不保留小数的情况下
3.4444449是不是四舍五入为 4了,明显不合理吗.
当然如果非要这样实现也没问题.
public static void main(String[] args) {
double num = 3.11444444449;
String numStr = num + "";
//下面代码的作用是得到要消除多少位小数 3.11444444449就是要消除 9位小数
int index = numStr.indexOf(".");
int count = numStr.length() - (index + 1) -2;
//得到转换时需要的用的小数,正常四舍五入情况下是0.5,但是你题目有特殊要求
String str = "0.";
for(int i=0;i