首页 > 其他分享 >BigDecimal 加减乘除 比较大小 取余 mod

BigDecimal 加减乘除 比较大小 取余 mod

时间:2024-05-30 17:58:13浏览次数:16  
标签:BigDecimal System setScale println 取余 mod ROUND out

加减乘除

        BigDecimal a = new BigDecimal("1");
        BigDecimal b = new BigDecimal("3");
        BigDecimal c = a.add(b);
        BigDecimal d = a.subtract(b);
        BigDecimal e = a.multiply(b);
        BigDecimal f = a.divide(b,2,BigDecimal.ROUND_HALF_UP);
        System.out.println(c);
        System.out.println(d);
        System.out.println(e);
        System.out.println(f);

a.compareTo(b)

        BigDecimal[] mod = a.divideAndRemainder(b);
        BigDecimal mod0 = mod[0];
        BigDecimal mod1 = mod[1];
        System.out.println(mod0);
        System.out.println(mod1);

小数: 

        BigDecimal h = new BigDecimal("1.23456789");
        h.setScale(1,BigDecimal.ROUND_DOWN);//直接删除多余的小数位,如1.2
        h.setScale(1,BigDecimal.ROUND_UP);//进位处理,1.3
        h.setScale(3,BigDecimal.ROUND_HALF_UP);//四舍五入(5则向上入),1.235
        h.setScale(3,BigDecimal.ROUND_HALF_DOWN);//五舍六入(5则向下舍,6则向上入),1.234

Exception in thread "main" java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
 

标签:BigDecimal,System,setScale,println,取余,mod,ROUND,out
From: https://blog.csdn.net/u011149152/article/details/139329685

相关文章

  • WPF MVVM如何在ViewModel直接操作控件对象
    早些年在WPF中使用COM组件时,需要在ViewModel中操作COM组件中的控件对象,但是这个控件对象又不支持绑定,后面的解决办法是在窗口加载时,将控件对象以参数传递到Loaded事件的处理命令中,然后将这个对象记录下来,后面就可以直接操作这个控件了。今天同事在使用WebView2的时候,又遇到这个......
  • Llama模型家族训练奖励模型Reward Model技术及代码实战(二)从用户反馈构建比较数据集
    LlaMA3系列博客基于LlaMA3+LangGraph在windows本地部署大模型(一)基于LlaMA3+LangGraph在windows本地部署大模型(二)基于LlaMA3+LangGraph在windows本地部署大模型(三)基于LlaMA3+LangGraph在windows本地部署大模型(四)基于LlaMA3+LangGraph在w......
  • nginx后端健康检查nginx_upstream_check_module
    一:nginx后端健康检查ngx_http_upstream_modulenginx自带健康检查的缺陷:Nginx只有当有访问时后,才发起对后端节点探测。如果本次请求中,节点正好出现故障,Nginx依然将请求转交给故障的节点,然后再转交给健康的节点处理。所以不会影响到这次请求的正常进行。但是会影响效率,因为......
  • error in ./node_modules/@intlify/core-base/dist/core-base.cjs
    ERRORFailedtocompilewith1error......
  • c#使用Modbus TCP
    c#使用ModbusTCP在C#中,使用第三方库来实现ModbusTCP通讯。其中比较常用的是EasyModbusTCP库。以下是使用EasyModbusTCP库进行ModbusTCP通讯的示例代码:首先需要安装EasyModbusTCP库,可以通过NuGet包管理器来安装。1.创建一个ModbusClient对象,并设置连接参数:usingEasy......
  • css18 CSS Box Model
    https://www.w3schools.com/css/css_boxmodel.aspAllHTMLelementscanbeconsideredasboxes.TheCSSBoxModelInCSS,theterm"boxmodel"isusedwhentalkingaboutdesignandlayout.TheCSSboxmodelisessentiallyaboxthatwrapsarounde......
  • 解决labelme中AI Model Ai Mask Ai Polygon选项下载onnx权重慢或者无法下载问题
    新版的labelme中已经内置了AIModel功能,能够通过模型智能识别图像中想要标注的区域,能够显著减少工作量。但是第一次使用这个功能的时候会要下载模型权重,此时一般速度会非常慢,或者出现报错无法下载,下面提出一种解决方法。如图,有5种模型,每个模型需要分别下载encoder和decoder两......
  • 为什么工控现场会用到Profinet转Modbus网关设备
    为什么工控现场会用到Profinet转Modbus网关设备一、背景:工控现场之所以需要使用Profinet转Modbus网关,是因为工控系统中常常存在不同厂家设备之间通讯协议不一致的问题。而Modbus和Profinet分别代表着两种不同的通信协议,Profinet通常用于较新的设备,而Modbus则是比较老的通讯协议......
  • Cannot find module ‘./bpm/analysis‘
    错误信息“Cannotfindmodule‘./bpm/analysis’”通常表明Node.js无法在指定路径中找到模块。以下是一些排查和解决此问题的步骤:检查路径:确认路径./bpm/analysis是否正确,并指向模块所在的正确目录。路径是区分大小写的,因此请确保大小写与实际目录和文件名匹配。......
  • __dirname is not defined in ES module scope
    在package.json中的type=module的项目中,我创建了一个ts文件,类型是esm的类型。这里的报错是因为我们错误的使用了module的语法到esm的文件中,要解决这个问题的方法有两种,第一种改为module,另一种是改为esm的写法。首先是第一种改为module的写法,那就是把import改为require,然后由于......