百度
360搜索
搜狗搜索

bigdecimal转int,BigDecimal 怎么转换成int或者Long详细介绍

本文目录一览: BigDecimal和Int类型的转换,以及BigDecimal的常用运算

Int类型转换为bigdecimal类型:先将int转为String,再通过BigDecimal的构造方法去创建
BigDecimal price = new BigDecimal(String str);
Bigdecimal类型相加
BigDecimal newDeposit=price.add(oldDecimal);
扩充
add(BigDecimal)BigDecimal对象中的值相加,然后返回这个对象。

subtract(BigDecimal)BigDecimal对象中的值相减,然后返回这个对象。

multiply(BigDecimal)BigDecimal对象中的值相乘,然后返回这个对象。

divide(BigDecimal)BigDecimal对象中的值相除,然后返回这个对象。

toString()将BigDecimal对象的数值转换成字符串。

doubleValue()将BigDecimal对象中的值以双精度数返回。

floatValue()将BigDecimal对象中的值以单精度数返回。

longValue()将BigDecimal对象中的值以长整数返回。

intValue()将BigDecimal对象中的值以整数返回。

请问,java里,如何把BigDecimal类型转成Integer

BigDecimal比Integer大得多,转换的话会有发生异常的可能。
所以不建议这么做。
假设变量a是BigDecimal类型
Integer b=a.intValue();
查看Java API啊,里面有方法的public int intValue()
先将BigInteger类型转为普通整数,然后用BigDecimal.valueOf("普通数值")即可转为BigDecimal类型。BigInteger实现了任意精度的整数运算;BigDecimal实现了任意精度的浮点数运算。
BigInteger i = new BigInteger("12345");BigDecimal d = new BigDecimal(i);构造函数可以直接转换的。
类型转换:
每个函数都可以强制将一个表达式转换成某种特定数据类型。自动(隐式)类型转换不会导致数据丢失。数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。变量是用来存储值的所在处;它们有名字和数据类型。
变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。所有变量都具有数据类型,以决定能够存储哪种数据。
BigDecimal:
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。
在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。
方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。

怎样把 bigdecimal 转为int

直接使用 Bigdecimal 类的 intvalue() 方法就行了;
BigDecimal bd=new BigDecimal(99.99);int a=bd.intValue(); System.out.println(a);//b=99;

java中如何将科学计数法转成int类型

转化方法有两种,一种是强转即是:al=(int)结果;另一种是al=sa.parseInteger()
原来的数,是哪个类型的?是Long、Double、……?
如果是Long,不超出Ineger范围就是Long.intValue(),超出没没法了。
Double也相似
0.0000000001238761976
BigDecimal bd = new BigDecimal("1.238761976E-10");
System.out.println(bd.toPlainString());
大概这样,具体看BigDecimal API吧
Integer.parseInt()
首先,需要将科学计数法转换成一下:
例如:
BigDecimal bd = new BigDecimal("3.40256010353E11");
然后转换成字符串:
String str = bd.toPlainString();
如果这个数字的长度是在int的范围内的话,是可以转换成int类型:
int a = Integer.parsInt(str);
如果这个数字的长度不是在Int范围内的话,得到的就不是你想要的数字了!

BigDecimal 怎么转换成int或者Long

BigDecimal big =new BigDecimal(2272626262626262.2341111114);
System.out.println(big.intValue()); System.out.println(big.longValue()); System.out.println(big.floatValue()); System.out.println(big.doubleValue()); 看看下面的结果吧
152522710
22726262626262622.27262638E152.272626262626262E15相信你已经明白了
如下:
BigDecimal a=new BigDecimal(12.88);
int b=a.intValue();
System.out.println(b);//b=12;
很简单,用intValue或者longValue方法即可。保证不超出int或long范围 你的代码修改成下面这种
for (DataRow objects : list) {
BigDecimal accepPass=null;
accepPass=(BigDecimal)objects.get("ACCEP_PASS");
int b=accepPass.intValue();
int c=accepPass.longValue();
System.out.println(b);//转int
System.out.println(c);//转long
} 有问题HI我或追问

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

BigInteger属于java.math.BigInteger,针对大小数的处理类(个人感觉多数用于处理捡钱之类...),BigInteger的构造方法很多,(具体有哪些,Eclipse 中 ALT+? 可以看到),你段代码其实感觉很简单,SETSCALE()就是处理小数点,后面就是四舍五入,然后转成INT型
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.4setScaler(1,BigDecimal.ROUND_HALF_DOWN);//四舍五入,2.35变成2.3,如果是5则向下舍

在java 中怎么把double类型转成 int类型

int i=5;
double d=(double) i;
Integer.valueOf(double);
double a = 1d;
int b = Integer.valueOf(String.valueOf(a));
double d = 1.23;
int i = (int) d;
double d = 1.233;
String s1 = String.valueOf(d);
String s2 = s1.substring(0, s1.indexOf(".")) + s1.substring(s1.indexOf(".")+1);
int i = Integer.parseInt(s2);
想要这种效果吗
double d = 12.0;int i = (new Double(d)).intValue();

java data时间类型getDay()怎么转成int类型

首先,需要将科学计数法转换成一下:
例如:
BigDecimal bd = new BigDecimal("3.40256010353E11");
然后转换成字符串:
String str = bd.toPlainString();
如果这个数字的长度是在int的范围内的话,是可以转换成int类型:
int a = Integer.parsInt(str);
如果这个数字的长度不是在Int范围内的话,得到的就不是你想要的数字了!

阅读更多 >>>  integer的默认值,integer类型默认值

网站数据信息

"bigdecimal转int,BigDecimal 怎么转换成int或者Long"浏览人数已经达到18次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:bigdecimal转int,BigDecimal 怎么转换成int或者Long的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!