java.lang.BigDecimal谁用过他???他能够加减乘除吗

tryst 2003-10-16 03:56:15
我怎么无法运算啊
BigDecimal F_YCE=BigDecimal.valueOf(12345678)+BigDecimal.valueOf(123);
???给我解决方法怎么相加
...全文
491 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
honkyjiang 2003-10-16
  • 打赏
  • 举报
回复
BigDecimal.valueOf(long val) 得到的是BigDecimal 对象只能用BigDecimal 的相应方法如
add(BigDecimal val)
也可以用 long longValue() 这样的方法先得到数据在处理 !
tanghuan 2003-10-16
  • 打赏
  • 举报
回复
上面的说的没有错,他是类,当然别指望直接用运算符了哟
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();
LoveRose 2003-10-16
  • 打赏
  • 举报
回复
有加减乘除的方法
public BigDecimal add(BigDecimal val)

public BigDecimal subtract(BigDecimal val)

public BigDecimal multiply(BigDecimal val)

public BigDecimal divide(BigDecimal val,
int scale,
int roundingMode)

public BigDecimal divide(BigDecimal val,
int roundingMode)
willyzeng 2003-10-16
  • 打赏
  • 举报
回复
它有自己的api的,
加法的好象是:
BigDecimal a,b;
...
a.add(b);
你查一下java的api就知道了,我懒得查了

唔,其实里面就是一个工具类,加减乘除、保留两位小数。一共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.lang.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); } }

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧