关于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));
}
}
http://blog.csdn.net/yangjie_13/article/details/1904047
分享到:
相关推荐
本人自己实验结果。关于Fpga取整运算和IP核除法运算资源消耗时间消耗,和时序约束分析。都是实验结果的截图,比较乱,比较乱!
JAVA_3 JAVA语言基础 位运算 JAVA_3 JAVA语言基础 JAVA_4 Java面向对象特性 JAVA_5 高级语言特征 JAVA_6 异常处理Exceptions JAVA_7 IO输入输出 JAVA_8 AWT图形界面编程 JFC AWT Swing JAVA_8 AWT图形界面编程 JFC ...
Java语言简介和运算,Java语言中的流程控制语句 ,类和对象,抽象类与接口,常用数据对象
Java的位运算
第一章 Java语言基础 5 1.1 指出JAVA语言的主要特点和JAVA程序的执行过程。 5 1.2 说出开发与运行JAVA程序的重要步骤。 5 1.3 如何区分应用程序和小应用程序? 5 1.4 说出JAVA源文件的命名规则。 5 1.6 JAVA语言使用...
java.四则运算器
Java 中的位运算 .docJava 中的位运算 .docJava 中的位运算 .docJava 中的位运算 .docJava 中的位运算 .docJava 中的位运算 .docJava 中的位运算 .docJava 中的位运算 .docJava 中的位运算 .docJava 中的位运算 .doc
这是一款用java语言实现的四则运算计算器,支持正负数、小数点。
Java基本数据与运算例题: package xing; import java.util.Scanner; public class x { public static void main(String[ ] args) { String name= "刘星"; /*姓名*/ String sex="男"; /*性别*/ int javaScore=90;...
【】3.Java语言Switch语句详解1.JavaSwitch语句概述【】3.Java语言Switch语句详解3.Java语言Switch语句详解课程资料源码【】3.Java语言Switch语句详解课程资料源码【】4.Java判断与关系运算1.Java关系运算的种类【】...
一个java类,该类可以进行加、减、乘、除四则运算,并且可以输出运算结果。此外,对于除法,如果被除数为0,该类可以报错。对于加、减、乘、除之外的运算符,该类应该告知无法处理。 编写一个包含主方法main的公共类...
通过java语言实现四则运算 package sss; public class Szys { float op1; float op2; char opr; float result; public void calculate() { switch (this.opr) { case '+': { this....
完整版 杭州电子科技大学JAVA语言程序设计 JAVA_03 JAVA语言基础 位运算(共21页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_03 JAVA语言基础(共57页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 ...
<br />三、Java语言中面向对象的特性</strong><br /> 1.面向对象编程的基本概念和特征。 2.类的基本组成和使用。 3.对象的生成、使用和删除。 4.接口与包。 5.Java类库的常用类...
数据结构(Java语言描述) 案例04 一元多项式的表示及运算.docx 学习资料 复习资料 教学资源
R语言中矩阵运算.pdfR语言中矩阵运算.pdfR语言中矩阵运算.pdfR语言中矩阵运算.pdfR语言中矩阵运算.pdfR语言中矩阵运算.pdf
很好的程序,供大家参考。大家多提意见哈。我们共同学习
g.drawString("字符串s1的长度为:"+n1,5,70); g.drawString("字符串s2的前缀是否为we? "+s2.startsWith("we"),5,90); String s3[]={"door","apple","Applet","girl","boy"}; g.drawString("s3=door,apple,Applet,...
java实现四则运算,将中缀表达式变成后缀表达式,使用栈来做最后的运算
输入一个四则运算表达式,本程序可计算出结果。另外还支持三角函数,对数运算,支持简单命令,如查看帮助和退出。输入help可查看详细情况。