java divide 用法_java中BigDecimal加减乘除基本用法

Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。

在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。

BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。

方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。

import java.math.BigDecimal;

public class T {

public static void main(String[] args) {

String a = "9999.9999";

int b = 9999;

double c = 9999.9999;

char d = 99;

System.out.println("===================");

// 不同类型转为BigDecimal

BigDecimal ma = new BigDecimal(a);

BigDecimal mb = new BigDecimal(b);

BigDecimal mc = new BigDecimal(c);

BigDecimal md = new BigDecimal(d);

System.out.println("ma:"+ma.toString());

System.out.println("mb:"+mb.toString());

System.out.println("mc:"+mc.toString());

System.out.println("md:"+md.toString());

System.out.println("===================");

// 加

BigDecimal add = ma.add(mb);

System.out.println("加法:"+add);

// 减

BigDecimal sub = ma.subtract(mb);

System.out.println("减法:"+sub);

// 乘

BigDecimal mul = mb.multiply(md);

System.out.println("乘法:"+mul);

// 除

BigDecimal div = mb.divide(md);

System.out.println("除法:"+div);

System.out.println("===================");

mc = mc.setScale(2, BigDecimal.ROUND_HALF_UP);

System.out.println("四舍五入:"+mc);

System.out.println("===================");

mc = mc.negate();

System.out.println("负数:"+mc);

System.out.println("===================");

}

}

本文结束。

a61cebcb5c90706ec1de25bd71c486c6.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507234.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何反映两条曲线的拟合精度_你知道850加工中心定位精度的检测有哪些吗?

你知道850加工中心定位精度的检测有哪些吗?定位精度在机械制造上指零件或刀具等实际位置与标准位置(理论位置/理想位置)之间的差距,其差距越小,说明精度越高。定位精度是零件加工精度得以保证的前提。XFL-850加工中心的…

java ee最新_从此再无 JavaEE,现在叫 JakartaEE

各位小伙伴,你们都知道这个消息吗?Java EE 正式改名为 Jakarta EE 了。以后小伙伴们自我介绍的时候又多了一种方式。(〃▽〃) :你是做什么的?( ̄▽ ̄)~* :你好我是做 JakartaEE!Σ(っД;)っ&#…

十二月份找工作好找吗_小儿推拿师工作好找吗?工资高吗?

小儿推拿师工作好找吗?会不会学成之后找不到工作?作为现在比较热门的一个医学类职业,小儿推拿师还是比较容易找工作的,现在基本一条街上能有不低于十家小儿推拿店,而这些店里面小儿推拿师只有两三个,后面孩子还有很多…

java 单例 读写锁_终极锁实战:单JVM锁+分布式锁

目录1.前言2.单JVM锁3.分布式锁4.总结正文分割线1.前言锁就像一把钥匙,需要加锁的代码就像一个房间。出现互斥操作的典型场景:多人同时想进同一个房间争抢这个房间的钥匙(只有一把),一人抢到钥匙,其他人都等待这个人出来归还钥匙&…

linux java socket编程_深入学习socket网络编程,以java语言为例

了解java的socket编程与Linux Socket API之间的关系一、java的网络编程1、socket原理socket通信就是通过IP和端口号将两台主机建立连接,提供通信。主机A的应用程序要能和服务器B进行通信,必须通过Socket建立连接,而建立Socket连接本质上就是依…

python去掉空白行_python去掉空白行的多种实现代码

这篇文章主要介绍了python去掉空白行实现代码,需要的朋友可以参考下 测试代码 php.txt1:www.php.cn 2:www.php.cn 3:www.php.cn 4:www.php.cn 5:www.php.cn 6:www.php.cn 7:www.php.cn 8:www.php.cn 9:www.php.cn 10:www.php.cn 11:www.php.cn 12:www.php.cn 13:www.php.cn 14:…

html get请求_99% 的人都理解错了 HTTP 中 GET 与 POST 的区别【面试必问】

先分析一波:1、GET和POST与数据如何传递没有关系??GET和POST是由HTTP协议定义的。那么使用哪个方式与应用层的数据如何传输是没有相互关系的。从而,HTTP就没有要求,POST一定要放到请求体里面,GET就一定要放…

hive load data外部表报错_生产SparkSQL如何读写本地外部数据源及排错

https://spark-packages.org/里有很多third-party数据源的package,spark把包加载进来就可以使用了csv格式在spark2.0版本之后是内置的,2.0之前属于第三方数据源一、读取本地外部数据源1.直接读取一个json文件[hadoophadoop000 bin]$ ./spark-shell --mas…

ffmpeg命令_使用ffmpeg命令为多个短视频修改视频备注说明

今天主要给大家讲一下使用视频剪辑高手中的ffmpeg命令为多个短视频修改备注说明的详细步骤,有需要和感兴趣的宝贝们可以跟随小编一起来试试。收集视频将需要剪辑的短视频保存到同一文件夹上进入软件双击进入视频剪辑高手,选择“批量剪辑视频”功能添加视…

从事python需要掌握哪些知识和技能_零基础想转行从事Python?需要掌握如下技能...

零基础python能找到工作吗?需要掌握哪些技能?对于大部分零基础学编程半路出家的人来说,无非是想改变现状换一门新职业,所谓技术大牛不过是比小白们更早接触编程罢了,选择好自己有兴趣的职业技能,并为之学习…

java byte 判断相等_你真的了解Java中quot;==quot;和equals()的区别?

部分面试资料链接:https://pan.baidu.com/s/1qDb2YoCopCHoQXH15jiLhA密码:jsam想获得全部面试必看资料,关注公众号,大家可以在公众号后台回复“知乎”即可。“判断两个事物是否相等”,是编程中最常见的操作之一,在Java中&#xff…

数据通信原理_同网段主机通信原理

本篇文章介绍数据通信中最基础,最关键的原理之一,两台通网段的主机如何通信。获得更多技术资料和免费学习视频,加入讨论群:752160765适合两台普通电脑之间,两台服务器之间,两台手机之间,电脑和打…

java jdk 未知错误_解决JAVA JDK安装出错的最常见问题,帮你排除困扰

一般来说,安装JAVA JDK的整个流程是很简单的,只要按照提示进行操作即可,就不会出现问题。但是呢,有小伙伴反映说,之前安装了JAVA JDK,进行卸载重装的时候出现错误提示,“正在进行另一Java安装”…

定义const变量是不可以赋值_JavaScript的声明方法和作用范围,常见的结构赋值类型和使用场景...

链接:https://juejin.im/post/5d9bf530518825427b27639d声明const命令:声明常量 let命令:声明变量作用作用域全局作用域函数作用域:function() {}块级作用域:{}作用范围var 命令在全局代码中执行const命令和let命令只能…

java社区活跃度_Java并发编程-活跃度问题

在讲问题前,我先说明一下什么是活跃度?一个并发应用及时执行的能力称作活跃度。我主要讲死锁问题,顺带介绍一下饥饿,弱响应性和活锁。死锁死锁这个词大家都听过,我先来罗列一下产生死锁的四个必要条件:(1) …

java8 di_java8 多个list对象用lambda求差集操作

业务场景:调用同步接口获取当前全部有效账户,数据库已存在部分账户信息,因此需要筛选同步接口中已存在本地的帐户。调用接口获取的数据集合List list response.getData().getItems();本地查询出来的账户集合List towList accountRepository…

怎么抓python程序的包_如何在AWS上部署python应用程序

如何在AWS上部署python应用程序,学姐呕心沥血亲自总结,亲测有效,比网上看网上大把大把的文档要快得多!作者:蕾学姐亚马逊云计算服务(Amazon Web Services,缩写为AWS),由亚…

【Hadoop】Zookeeper架构/特点

Zookeeper 中的角色主要有以下三类: Zookeeper需要保证高可用性和强一致性为了支持更多的客户端,需要增加更多Server,但是Server增多,意味着投票阶段延迟增大,会影响整个系统的性能。所以在3.3.0中ZK引入的新角色&…

wpf 按钮样式_键盘 | 01.在程序集间引用样式

设置Button和TextBox的特定颜色和字体的样式和默认样式,并在程序集间引用。从零开始用WPF/C#开发一个键盘指示器项目完整开源、免费,不依赖第三方库编译好的先行版程序在微信公众号(香辣恐龙蛋)下载。文章同时发布在微信公众号(香辣恐龙蛋)、B站(香辣恐龙…

怎么去除表中的系统导出的字符_EXCEL非常有用的字符函数LEN、LENB,财务工作者的必备利器...

LEN函数与LENB函数是比较常用的函数,在实际中应用那是相当广的,尤其在财务工作中的使用频率是相当的高。我就一起看看实际工作中哪些地方用到了它。我们先简单说下它的用法,很简单,LEN(text)、LENB(text),两个用法是一…