社区
Web 开发
帖子详情
java.lang.BigDecimal谁用过他???他能够加减乘除吗
tryst
2003-10-16 03:58:09
我怎么无法运算啊
BigDecimal F_YCE=BigDecimal.valueOf(12345678)+BigDecimal.valueOf(123);
???给我解决方法怎么相加
...全文
80
1
打赏
收藏
java.lang.BigDecimal谁用过他???他能够加减乘除吗
我怎么无法运算啊 BigDecimal F_YCE=BigDecimal.valueOf(12345678)+BigDecimal.valueOf(123); ???给我解决方法怎么相加
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mtou
2003-10-16
打赏
举报
回复
BigDecimal a=new BigDecimal("12334.099");
BigDecimal b=new BigDecimal.valueOf(123L);
a=a.add(b);//相加
a=a.multiply(b);
a=a.substract(b);
a=a.divide(b.BigDecimal.ROUND_UP);
a=a.negate();
Java
加减乘除
工具类(解决精度损失问题)
唔,其实里面就是一个工具类,
加减乘除
、保留两位小数。一共5个方法。。。emmmm.....为啥分这么高呢。因为宝宝想分想疯了。 附代码,有土豪就打赏打赏,没土豪的直接拿去使吧。 package cn.cisdom.base.utils; import
java
.math.
BigDecimal
; import
java
.text.DecimalFormat; public class Calculation { public static final DecimalFormat df = new DecimalFormat("######0.00"); /** * @methodName format2point * @desc 保留两位小数点 * @param value * @return
java
.
lan
g.String * @author xm * @create 2018/6/7 12:03 **/ public static String format2point(Number value) { return df.format(value); } public static Double add(Number value1, Number value2) {
BigDecimal
b1 = new
BigDecimal
(Double.toString(value1.doubleValue()));
BigDecimal
b2 = new
BigDecimal
(Double.toString(value2.doubleValue())); return b1.add(b2).doubleValue(); } /** * 提供精确的减法运算。 * * @param value1 * 减数 * @param value2 * 被减数 * @return 两个参数的差 */ public static Double sub(Number value1, Number value2) {
BigDecimal
b1 = new
BigDecimal
(Double.toString(value1.doubleValue()));
BigDecimal
b2 = new
BigDecimal
(Double.toString(value2.doubleValue())); return b1.subtract(b2).doubleValue(); } /** * 提供精确的乘法运算。 * * @param value1 * 被乘数 * @param value2 * 乘数 * @return 两个参数的积 */ public static Double mul(Number value1, Number value2) {
BigDecimal
b1 = new
BigDecimal
(Double.toString(value1.doubleValue()));
BigDecimal
b2 = new
BigDecimal
(Double.toString(value2.doubleValue())); return b1.multiply(b2).doubleValue(); } /** * 提供精确的除法运算。 * * @param value1 * 除数 * @param value2 * 被除数 * @return 除数/被除数 */ public static Double div(Number value1, Number value2) { //MathContext mc = new MathContext(2, RoundingMode.HALF_DOWN);//精度为2,舍入模式为大于0.5进1,否则舍弃
BigDecimal
b1 = new
BigDecimal
(Double.toString(value1.doubleValue()));
BigDecimal
b2 = new
BigDecimal
(Double.toString(value2.doubleValue())); return b1.divide(b2).doubleValue(); } public static void main(String[] args) { Double aDouble=Calculation.add(56.9, 1.67); System.out.println(aDouble); Double bDouble=Calculation.sub(99.2,aDouble); System.out.println(bDouble); } }
BigDecimal
之
java
.
lan
g.NumberFormatException
BigDecimal
类是
java
.math中用于高精度数值计算的类,可以支持任意精度的小数运算。它可以避免因为浮点数舍入误差而导致的计算错误,适合用于处理财务、金融等领域的数值计算。
java
.math.
BigDecimal
详解及
加减乘除
计算
BigDecimal
简介
BigDecimal
用来对需要更大或更小的数进行任意精度的运算。 在需要精确的小数计算时再使用
BigDecimal
,
BigDecimal
的性能比double和float差,在处理庞大,复杂的运算时尤为明显。故一般精度的计算没必要使用
BigDecimal
。 尽量使用参数类型为String的构造函数。
BigDecimal
都是不可变的(immutable)的, 在进行每一次...
java
.math.
BigDecimal
的常用方法,舍入,大小比较详解
这里写目录标题
java
.math.
BigDecimal
概述
BigDecimal
常用方法详解
BigDecimal
舍入方法
BigDecimal
平方根
BigDecimal
幂次方
BigDecimal
大小比较参考资料
java
.math.
BigDecimal
概述
Java
在
java
.math包中提供的API类
BigDecimal
,用来对超过16位有效位的数进行精确的运算。 双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计
java
.math.
BigDecimal
简介
在需要精确的小数计算时再使用
BigDecimal
,
BigDecimal
的性能比double和float差,在处理庞大,复杂的运算时尤为明显。故一般精度的计算没必要使用
BigDecimal
。尽量使用参数类型为String的构造函数。
BigDecimal
都是不可变的(immutable)的, 在进行每一次四则运算时,都会产生一个新的对象 ,所以在做
加减乘除
运算时要记得要保存操作后的值。
Web 开发
81,092
社区成员
341,717
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章