使用JAVA编程 接收任何数,对该数字进行四舍五入,要求保留两位小数,并且从末尾开始舍入,如:3.124682-->3.133.22715--->3.233.999999-->4.003.11444444449--->3.123.127123--->3.13要求不能使用Math中的方法
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/24 15:50:03
使用JAVA编程 接收任何数,对该数字进行四舍五入,要求保留两位小数,并且从末尾开始舍入,如:3.124682-->3.133.22715--->3.233.999999-->4.003.11444444449--->3.123.127123--->3.13要求不能使用Math中的方法
使用JAVA编程 接收任何数,对该数字进行四舍五入,要求保留两位小数,并且从末尾开始舍入,
如:3.124682-->3.13
3.22715--->3.23
3.999999-->4.00
3.11444444449--->3.12
3.127123--->3.13
要求不能使用Math中的方法
使用JAVA编程 接收任何数,对该数字进行四舍五入,要求保留两位小数,并且从末尾开始舍入,如:3.124682-->3.133.22715--->3.233.999999-->4.003.11444444449--->3.123.127123--->3.13要求不能使用Math中的方法
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