怎样用java实现小数的四舍五入?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用java实现小数的四舍五入?相关的知识,希望对你有一定的参考价值。

编程上四舍五入一般都是通过加一个小数看是否自动进1来完成的。
打个比方12.563,要求保留两个小数,四舍五入,则可以这样做:
第一步:12.563+0.005=12.568
第二步:12.568*100=1256.8
第三步:对1256.8强制转换为int类型(int)(1256.8)=1256
第四步:得出结果(double)(1256)/100=12.56
结果就是12.563保留两个小数并四舍五入的结果为12.56
不同的变成语言也行写法上不一样,但总体的理论是一样的。
参考技术A Math的方法主要取整的,
要取多位小数位数的话,比如取小数点以后第二位的话,小数点以后第二位四舍五入!思路:将需要四舍五入的值传入方法,先找出小数点的位置indexof(“.”),取出小数点后一位来判断是否是>5的,是TRUE的话,再做相应处理!以下是取整为例,其他多位小数的话,以此类推!
完整代码如下:在Main函数中测试
Scanner input=new Scanner(System.in);
System.out.println("请输入一个小数");
Double d=input.nextDouble();
String num=d.toString();
int a=Integer.parseInt(num.substring(num.indexOf(".")+1,num.indexOf(".")+2));//获取小数点后的第一位
if(a>=5)//判断是否满足条件

a=Integer.parseInt(num.substring(0,num.indexOf(".")))+1;//整数部分+1

else

a=Integer.parseInt(num.substring(0,num.indexOf(".")));

System.out.println("小数"+d+"四舍五入后的结果是:"+a);
参考技术B 我喜欢用 一个小数加上0.5,这样改五入的就进位了,该四舍的就没进位。
然后用一个Math.floor(a)就可以了
a是加过0.5厚的小数本回答被提问者和网友采纳
参考技术C double d = 3.1465926;
String result = String.format("%.2f", d);
System.out.println(result);

以上是关于怎样用java实现小数的四舍五入?的主要内容,如果未能解决你的问题,请参考以下文章

Delphi编写程序,用 FloatToStr转换文本,怎样四舍五入保留两位小数

angular js中怎样四舍五入

请问java提供啥方法实现将一个浮点数,四舍五入只保留小数点后两位

要四舍五入保留一位小数,JAVA如何实现

excel中怎样只求整数值 ,不要小数点 ; 不要四舍五入

怎样保留小数点后六位,六位以后不四舍五入?