java 问题,希望有人详细解释一下下面代码,谢谢

int decimalPoint = new BigDecimal(entitySymbol.decimalPoint).setScale(0, RoundingMode.HALF_UP).intValue();

java.math.BigDecimal

是java.math包中提供的类,用来对超过16位有效位的数进行精确的运算。

new BigDecimal(entitySymbol.decimalPoint).setScale(0, RoundingMode.HALF_UP).intValue();
.setScale(0, RoundingMode.HALF_UP);//第一个参数是:保留多少位小数,第二个是四舍五入。
.intValue();//是将BigDecimal转为Int类型。

EG:

BigDecimal.setScale();//用于格式化小数点 
setScale(1);//表示保留以为小数,默认用四舍五入方式 
setScale(1,BigDecimal.ROUND_DOWN);//直接删除多余的小数位,如2.35会变成2.3 
setScale(1,BigDecimal.ROUND_UP);//进位处理,2.35变成2.4 
setScale(1,BigDecimal.ROUND_HALF_UP);//四舍五入,2.35变成2.4
setScaler(1,BigDecimal.ROUND_HALF_DOWN);//四舍五入,2.35变成2.3,如果是5则向下舍

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-19
BigInteger属于java.math.BigInteger,针对大小数的处理类(个人感觉多数用于处理捡钱之类...),BigInteger的构造方法很多,(具体有哪些,Eclipse 中 ALT+? 可以看到),你段代码其实感觉很简单,SETSCALE()就是处理小数点,后面就是四舍五入,然后转成INT型

JAVA问题。麻烦帮我解释一下下面的代码,谢谢!
您好,提问者: 首先,这是在JSP中写的代码:<%String query="select*from book"; \/\/sql语句,查询book表所有内容Statement s=db.getConnection().createStatement(); \/\/连接数据的方法调用。 ResultSet rs=s.executeQuery(query); \/\/执行sql语句,返回查询的sql集合while(rs.next()) \/\/遍历sql...

java 问题,希望有人详细解释一下下面代码,谢谢
java.math.BigDecimal是java.math包中提供的类,用来对超过16位有效位的数进行精确的运算。new BigDecimal(entitySymbol.decimalPoint).setScale(0, RoundingMode.HALF_UP).intValue();.setScale(0, RoundingMode.HALF_UP);\/\/第一个参数是:保留多少位小数,第二个是四舍五入。.intValue();\/\/是将B...

在java的学习中,请高手解释下如下的代码是什么意思?
这一句执行括号中的sql语句,将得到的结果置给rs。if(rs.next()),这一句是看rs,也就是结果集中是否有数据,如果有,则进去if代码段,否则输入“您输入的管理员或密码错误!”这句话。String PWD=request.getParameter("PWD"); 这一句取得从上一个页面传过来的参数,pwd,也就是你输入的密码。f(...

Java问题,程序解释,能告诉我以下程序的每一句话都是什么意思吗?帮忙写...
程序一:\/\/导入输入输出文件包import java.io.*;\/\/类public class CreateFile {\/\/ 主函数public static void main(String[] args) throws IOException {\/\/打印出目标路径,用于标识System.out.println("生成目录:e:\\\\MJava\\\\xs2");\/\/定义路径,可用于创建File file1 = new File("e:\\\\MJava...

Java二叉树问题,下面的代码求解释.
这应该算是一种递归的排序算法。class Node类为定义一个二叉树节点。这个节点包含左右子树,但是左右子树可以为空。insert方法就是递归算法的实现。首先第一个值被创建为根节点。此后再插入的节点如果比当前节点小(当前节点不空则继续遍历子节点)则放左边,比根节点大则放右边。如果输入的数顺序,4,6,...

java中帮忙解释一下下面代码 for( int i=0;i<6;i++){ int k =++i...
for( int i=0;i<6;i++){\/\/循环0到5 int k =++i; \/\/i的值先加1再赋值给k while(k<5){ \/\/k小于5进入循环 System.out.print(i); \/\/输出i的值 k+=2 \/\/k加2再赋值给k

一段有意思的java代码请大家解释~
原理很简单,因为在java中,int是占4个字节大小,double占8个字节的大小,当你把某变量乘以2的时候,在计算机里面的处理方式是左移一位。当使用浮点数进行乘法运算时,若结果很大,会以科学计数法表示。下面具体分析:1、表达式0x7FFFFFFF == (int)(0x7FFFFFFF * 2.0)0x7FFFFFFF 已经占了4个...

请教大家帮我解释一段 JAVA 程序代码,越详细越好!谢谢...
1.Page<DepartmentVO>表示Page类是一个泛型类,类中变量类型全部与DepartmentVO表(类)中字段有关(或者说Page类中的变量时对DepartmentVO表中字段的描述)。这种泛型类定义的好处在于可以封装DepartmentVO类需要的字段,同时也可以包含自己的变量。这种情况通常用于对查询结果进行分页时提供前台查询条件参数和...

用java怎么来求这个问题:代码是什么,谢谢
首先相加是两位数,相乘是三位数,可以得出2个正整数范围是[0,100],由此得代码:public class Sum { public static void main(String[] args){ int a,b,c,d,e,f ;for(a=1;a<=100;a++){ for(b=1;b<=100;b++){ e = a + b;f = a * b;for(c=1;c<10;c++){ for(d=1;...

本人新学java看别人代码有些不理解 希望有人能帮我注释下越详细越好感...
第一段:package cn.zuoye;import java.util.Scanner;public class rili{ \/ param args \/ public static void main(String[] args) \/\/ 程序入口 { int yearDays=0;int Days=0;int week;int monthDays=0;int finnalDays=0;Scanner input=new Scanner(System.in); \/\/ input变量, 从控...

相似回答