java BigDecimal 加减乘除运算

java BigDecimal 加减乘除运算注意除法运算,分母为0的问题,还有就是除法后保留几位小数点的问题//两个flot相加publicfloattwoFloatAdd(floata,floatb){BigDecimala1=newBigDecimal(Float.toString(a));BigDecimalb1=newBigDecimal(Float.toString(b));Floatadd=a1.add(b1).floatValue()

大家好,又见面了,我是你们的朋友全栈君。

注意除法运算,分母为0的问题,还有就是除法后保留几位小数点的问题

  //两个flot相加
    public float twoFloatAdd(float a, float b) { 
   
        BigDecimal a1 = new BigDecimal(Float.toString(a));
        BigDecimal b1 = new BigDecimal(Float.toString(b));
        Float add = a1.add(b1).floatValue();
        return add;
    }

    //两个flot相减
    public float twoFloatSubtract(float a, float b) { 
   
        BigDecimal a1 = new BigDecimal(Float.toString(a));
        BigDecimal b1 = new BigDecimal(Float.toString(b));
        Float add = a1.subtract(b1).floatValue();
        return add;
    }

    //两个flot除法(保留4位小数点)
    public float twoFloatDivide(float a, float b) { 
   
        BigDecimal a1 = new BigDecimal(Float.toString(a));
        BigDecimal b1 = new BigDecimal(Float.toString(b));
        if (b == 0) { 
   
            return 0;
        }
        Float divide = a1.divide(b1, 4, BigDecimal.ROUND_HALF_UP).floatValue();
        return divide;
    }

    //两个flot乘法
    public float twoFloatMultiply(float a, float b) { 
   
        BigDecimal a1 = new BigDecimal(Float.toString(a));
        BigDecimal b1 = new BigDecimal(Float.toString(b));

        Float multiply = a1.multiply(b1).floatValue();
        return multiply;
    }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137049.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 解决:Failed to convert value of type ‘java.lang.String‘ to required type ‘java.util.Date‘;

    解决:Failed to convert value of type ‘java.lang.String‘ to required type ‘java.util.Date‘;发生这一错误的主要原因是Controller类中需要接收的是Date类型,但是在页面端传过来的是String类型,最终导致了这个错误。这里提供两种解决方案,一种是局部转换,一种是全局转换。一.局部转换@ControllerpublicclassUserController{ @RequestMapping(value=”/login.do”) publicStr

    2022年7月13日
    20
  • 全面认识MOS管,一篇文章就够了

    全面认识MOS管,一篇文章就够了一篇文章,彻底掌握mos管!

    2022年6月16日
    76
  • java map转json字符_Map转JSON字符串

    java map转json字符_Map转JSON字符串[java]代码库packagecom.smartAnji.control.utils;importjava.util.HashMap;publicclassMessageUtil{publicfinalstaticStringTYPE=”type”;publicfinalstaticStringDATA=”data”;publicfinalstaticSt…

    2022年6月20日
    50
  • 玩转安卓 Android系统文件夹结构解析(绝对有用)[通俗易懂]

    玩转安卓 Android系统文件夹结构解析(绝对有用)[通俗易懂]//system//app这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是//data//文件夹中。下面是详细的介绍://system//app//AlarmClock.apk闹钟//system//app//AlarmClock.odex//system//app//Brows

    2022年8月31日
    6
  • JMM内存模型介绍「建议收藏」

    JMM内存模型介绍「建议收藏」一、JMM的定义1.什么是JMM《Java虚拟机规范》中曾试图定义一种“Java内存模型”(JavaMemoryModel简称JMM)来屏蔽各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。Java内存模型是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。JMM是围绕原子性,有序性、可见性展开。2.主内存与工作内存Java内存模型的主要目的是定义程

    2025年7月14日
    3
  • UFT如何在谷歌浏览器上实现录制

    UFT如何在谷歌浏览器上实现录制https://user.qzone.qq.com/305132437/blog/1395738617?t=0.748526355385565https://user.qzone.qq.com/305132437/blog/14097396271.UFT安装目录\bin\Chrome,找到Agent.crx,复制2.拷贝到win7系统啊C:\Users\用户\AppData\Local\…

    2022年5月28日
    76

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号