java取模多位数_JAVA大数类—基础操作(加减乘除、取模、四舍五入、设置保留位数)...
当基础数据类型长度无法满足需求时可以使用大数类
构造方法接受字符串为参数
1 BigInteger bInt = new BigInteger("123123");2 BigDecimal bDouble = new BigDecimal("123123.123123124");
基础操作(取模使用divideAndRemainder方法,返回的数组第二个元素为余数):
BigDecimal在做除法时必须设定传入精度(保留多少位小数),否则会出现异常:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result。
除法还有两个接受不同数量参数的方法:
接受两个参数的方法:
@param divisor value by which this {@code BigDecimal} is to be divided. 传入除数
@param roundingMode rounding mode to apply. 传入round的模式
三个参数的方法:
@param divisor value by which this {@code BigDecimal} is to be divided. 传入除数
@param scale scale of the {@code BigDecimal} quotient to be returned. 传入精度
@param roundingMode rounding mode to apply. 传入round的模式
round模式为小数取舍模式:
BigDecimal.ROUND_UP:最后一位如果大于0,则向前进一位,正负数都如此。
BigDecimal.ROUND_DOWN:最后一位不管是什么都会被舍弃。
BigDecimal.ROUND_CEILING:如果是正数,按ROUND_UP处理;如果是负数,按照ROUND_DOWN处理。例如,7.1->8;-7.1->-7。所以,这种近似的结果都会>=实际值。
BigDecimal.ROUND_FLOOR:跟BigDecimal_ROUND_CEILING相反。例如,7.1->7;-7.1->-8。这种处理的结果<=实际值。
BigDecimal.ROUND_HALF_DOWN:如果最后一位<=5则舍弃,如果>5, 向前进一位。如,7.5->7;7.6->8;-7.5->-7 。
BigDecimal.ROUND_HALF_UP:如果最后一位<5则舍弃,如果>=5, 向前进一位。反之舍弃。如,7.5->8;7.4->7;-7.5->-8 。 —> (四舍五入)常用
BigDecimal.ROUND_HALF_EVEN:如果倒数第二位是奇数,按照BigDecimal.ROUND_HALF_UP处理;如果是偶数,按照BigDecimal.ROUND_HALF_DOWN来处理。如,7.5->8;8.5->8;7.4->7;-7.5->-8。
BigDecimal有一个setScale()方法,可以接受两个参数
1、保留位数
2、round模式
输出可以直接调用.toString();
java取模多位数_JAVA大数类—基础操作(加减乘除、取模、四舍五入、设置保留位数)...相关推荐
- java 大数类_Java大数类介绍
java能处理大数的类有两个高精度大整数BigInteger和高精度浮点数BigDecimal,这两个类位于java.math包内,要使用它们必须在类前面引用该包:import java.math.B ...
- JavaのFile类基础操作之问题
在上一章节,介绍了File类的基础操作,比如文件的创建,文件的删除等等.这一章节,将介绍在File类基础操作中遇到的问题. 1.路径分割符问题 在实际的软件开发与运行过程中,往往都会在Windows环 ...
- java爬虫面试题_Java 网络爬虫基础知识入门解析
前言 说起网络爬虫,大家想起的估计都是 Python ,诚然爬虫已经是 Python 的代名词之一,相比 Java 来说就要逊色不少.有不少人都不知道 Java 可以做网络爬虫,其实 Java 也能做 ...
- java修饰符默认_Java的类,方法,变量等等的默认修饰符是什么
访问控制修饰符 Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java支持4种不同的访问权限. 默认的,也称为default,在同一包内可见,不使用任何修饰符. 私有的,以pr ...
- java date格式化输出_Java Date类以及日期的格式化输出
Java中的Date类用于表示日期时间,在java.util包中.虽然Date类在设计之初没有考虑到国际化,很多方法都已经被定义为过时,但是Date却是程序设计过程中经常用到的一个类.本文将说说Dat ...
- java程序设计基础篇_Java语言程序设计(基础篇) 第一章
第一章 计算机.程序和Java概述 1.1 引言 什么是程序设计呢? 程序设计就是创建(或者开发)软件,软件也称为程序. 1.2 什么是计算机 计算机是存储和处理数据的电子设备,计算机包括硬件(har ...
- 使用Java 8 Lambda表达式对Employee类进行操作
1,首先定义Employee类. package coffee.how.to.program.early.objects.chapter15;public class Employee {privat ...
- java中输入日期_Java中的日期操作
在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...
- python爬取网站教学视频_零基础Python爬取网页文章和图片详细教学(内附源码、教学视频)...
Python爬虫,这个我相信对于很多人来说都不陌生! 今天小编给大家提供一份零基础Python爬取网页图片以及小说的代码并且详细的和大家讲解一下! 开发环境:版本Python3.6.2!(2版本会在2 ...
最新文章
- 【转】 ubuntu12.04更新源
- Lesson 8.3Lesson 8.4 ID3、C4.5决策树的建模流程CART回归树的建模流程与sklearn参数详解
- 6.22软件工程总结
- github网站证书里的别名
- 这份网约车安全乘车指南,请务必收下!
- java中检查性异常类_Java异常处理、java语言推崇使用检查类型异常
- 孙悟空!登上 Nature !
- GridView 分页导航
- Helen人脸数据集生成人脸分割
- 知网html怎样转化成pdf,中国知网CAJ ASP文件转PDF教程
- 基于cropper.js封装vue在线图片裁剪组件
- PHP获取某一天前后任意时间
- 360全景偏移调整_360全景倒车系统安装及调试细节说明
- 红外线人体感应灯arduino_Arduino红外人体感应模块-电子芯吧客
- Pig 调优实践经验总结
- 华为P10手机有计算机功能吗,手机教程知识:华为P10支持NFC功能吗 华为P10新功能介绍...
- 单片机c语言置位程序流程图,单片机c语言教程第十二章--C51开关分支语句
- SpringBoot 项目打成 .exe 程序,实战来了,超级详细!
- 云仓一件代发是什么?对电商商家有什么好处?
- 高防CDN如何防御网络攻击