使用JAVA编程 接收任何数,对该数字进行四舍五入,要求保留两位小数,并且从末尾开始舍入,如:3.124682-->3.133.22715--->3.233.999999-->4.003.11444444449--->3.123.127123--->3.13要求不能使用Math中的方法
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/14 09:41:19
![使用JAVA编程 接收任何数,对该数字进行四舍五入,要求保留两位小数,并且从末尾开始舍入,如:3.124682-->3.133.22715--->3.233.999999-->4.003.11444444449--->3.123.127123--->3.13要求不能使用Math中的方法](/uploads/image/z/10282075-43-5.jpg?t=%E4%BD%BF%E7%94%A8JAVA%E7%BC%96%E7%A8%8B+%E6%8E%A5%E6%94%B6%E4%BB%BB%E4%BD%95%E6%95%B0%2C%E5%AF%B9%E8%AF%A5%E6%95%B0%E5%AD%97%E8%BF%9B%E8%A1%8C%E5%9B%9B%E8%88%8D%E4%BA%94%E5%85%A5%2C%E8%A6%81%E6%B1%82%E4%BF%9D%E7%95%99%E4%B8%A4%E4%BD%8D%E5%B0%8F%E6%95%B0%2C%E5%B9%B6%E4%B8%94%E4%BB%8E%E6%9C%AB%E5%B0%BE%E5%BC%80%E5%A7%8B%E8%88%8D%E5%85%A5%2C%E5%A6%82%EF%BC%9A3.124682--%3E3.133.22715---%3E3.233.999999--%3E4.003.11444444449---%3E3.123.127123---%3E3.13%E8%A6%81%E6%B1%82%E4%B8%8D%E8%83%BD%E4%BD%BF%E7%94%A8Math%E4%B8%AD%E7%9A%84%E6%96%B9%E6%B3%95)
使用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