关于java语言中的取整运算
来源:互联网 发布:彩票在线关注源码 编辑:程序博客网 时间:2024/05/16 11:10
关于java语言中的取整运算
1.舍掉小数取整:Math.floor(3.5)=3
2.四舍五入取整:Math.rint(3.5)=4
3.进位取整:Math.ceil(3.1)=4
在Java中进行取整,尤其是四舍五入取整还有点麻烦。
下面是我根据网上的一些解答整理的三种取整运算(包括截尾取整,四舍五入,凑整),类似于面向过程语言(如C和Basic)中的取整函数(不过在Java中它叫类的方法,“类名.方法名(参数)”的运算都是类的静态方法)。
其中,注释掉的那段是在网上查到的有的朋友认为正确的四舍五入的取整方法,但是经过我的实验却是不正确的四舍五入的取整方法。
TestGetInt.java 源代码
import java.math.BigDecimal;
import java.text.DecimalFormat;
public class TestGetInt{
public static void main(String[] args){
double i=2, j=2.1, k=2.5, m=2.9;
System.out.println("舍掉小数取整:Math.floor(2)=" + (int)Math.floor(i));
System.out.println("舍掉小数取整:Math.floor(2.1)=" + (int)Math.floor(j));
System.out.println("舍掉小数取整:Math.floor(2.5)=" + (int)Math.floor(k));
System.out.println("舍掉小数取整:Math.floor(2.9)=" + (int)Math.floor(m));
/* 这段被注释的代码不能正确的实现四舍五入取整
System.out.println("四舍五入取整:Math.rint(2)=" + (int)Math.rint(i));
System.out.println("四舍五入取整:Math.rint(2.1)=" + (int)Math.rint(j));
System.out.println("四舍五入取整:Math.rint(2.5)=" + (int)Math.rint(k));
System.out.println("四舍五入取整:Math.rint(2.9)=" + (int)Math.rint(m));
System.out.println("四舍五入取整:(2)=" + new DecimalFormat("0").format(i));
System.out.println("四舍五入取整:(2.1)=" + new DecimalFormat("0").format(i));
System.out.println("四舍五入取整:(2.5)=" + new DecimalFormat("0").format(i));
System.out.println("四舍五入取整:(2.9)=" + new DecimalFormat("0").format(i));
*/
System.out.println("四舍五入取整:(2)=" + new BigDecimal("2").setScale(0, BigDecimal.ROUND_HALF_UP));
System.out.println("四舍五入取整:(2.1)=" + new BigDecimal("2.1").setScale(0, BigDecimal.ROUND_HALF_UP));
System.out.println("四舍五入取整:(2.5)=" + new BigDecimal("2.5").setScale(0, BigDecimal.ROUND_HALF_UP));
System.out.println("四舍五入取整:(2.9)=" + new BigDecimal("2.9").setScale(0, BigDecimal.ROUND_HALF_UP));
System.out.println("凑整:Math.ceil(2)=" + (int)Math.ceil(i));
System.out.println("凑整:Math.ceil(2.1)=" + (int)Math.ceil(j));
System.out.println("凑整:Math.ceil(2.5)=" + (int)Math.ceil(k));
System.out.println("凑整:Math.ceil(2.9)=" + (int)Math.ceil(m));
System.out.println("舍掉小数取整:Math.floor(-2)=" + (int)Math.floor(-i));
System.out.println("舍掉小数取整:Math.floor(-2.1)=" + (int)Math.floor(-j));
System.out.println("舍掉小数取整:Math.floor(-2.5)=" + (int)Math.floor(-k));
System.out.println("舍掉小数取整:Math.floor(-2.9)=" + (int)Math.floor(-m));
System.out.println("四舍五入取整:(-2)=" + new BigDecimal("-2").setScale(0, BigDecimal.ROUND_HALF_UP));
System.out.println("四舍五入取整:(-2.1)=" + new BigDecimal("-2.1").setScale(0, BigDecimal.ROUND_HALF_UP));
System.out.println("四舍五入取整:(-2.5)=" + new BigDecimal("-2.5").setScale(0, BigDecimal.ROUND_HALF_UP));
System.out.println("四舍五入取整:(-2.9)=" + new BigDecimal("-2.9").setScale(0, BigDecimal.ROUND_HALF_UP));
System.out.println("凑整:Math.ceil(-2)=" + (int)Math.ceil(-i));
System.out.println("凑整:Math.ceil(-2.1)=" + (int)Math.ceil(-j));
System.out.println("凑整:Math.ceil(-2.5)=" + (int)Math.ceil(-k));
System.out.println("凑整:Math.ceil(-2.9)=" + (int)Math.ceil(-m));
}
}
- 关于java语言中的取整运算
- 关于java语言中的取整运算
- Java语言中的取整运算
- 关于编程语言中的取模运算
- Java语言中的取整运算(包括截尾取整,四舍五入,凑整)
- java与c语言中的取模运算
- 关于java取反运算
- java中的取模运算
- Java中的取模运算
- 关于C语言取地址运算符”&“
- C语言中的取模(%)运算
- 关于C#中的取补运算
- 关于c++中的取模运算
- Java中的取余运算和取模运算
- C语言、Java语言、C#语言中的按位运算符中的取反操作的具体步骤
- ActionScript中的取整运算
- Java中的取反运算符(~)
- java中的%运算符是取余还是取模?
- 永恒的圣洁 亚丁三怙主神山
- 监视远程线程的创建
- Web Services版本控制
- 企业信息化成熟度模型
- 常用正则表达式
- 关于java语言中的取整运算
- 人生第一个项目
- 无法打开项目文件: .csproj,此安装不支持该项目类型,怎么解决?
- javascript 事件模型学习笔记
- 在超越中体会快乐和幸福
- .net 垃圾回收机制
- 优先队列使用小记
- 转 《彻底搞定C指针-指向另一指针的指针》
- ASP的Blog Roll的代码