首页 > 其他分享 >暑期熔炉7月12

暑期熔炉7月12

时间:2023-07-12 19:48:41浏览次数:26  
标签:BigInteger 12 BigDecimal val Random 暑期 熔炉 ROUND 运算

我思,故我在

笔记

1.生成随机数  一种是Math类的方法random() 生成double类型0~1的随机数

另一种Random类

Random.nextBoolean() 生产一个随机的boolean值 生成ture 或 false 的概率相同

Random.nextDouble() 生成一个随机的double值 数值介于[0,1.0)之间

Random.nextLong() Random.Float() 同理

Random.nextInt() 生成一个随机的int值 介于 -2的31次方到2的31次方-1之间

Random.nextInt(n) 生成一个[0,n)之间的随机数

2.数字格式化

DecimalFormat类

符号说明
0 显示数字,如果位数不够则补 0
# 显示数字,如果位数不够不发生变化
. 小数分隔符
- 减号
, 组分隔符
E 分隔科学记数法中的尾数和小数
% 前缀或后缀,乘以 100 后作为百分比显示
? 乘以 1000 后作为千进制货币符显示。用货币符号代替。如果双写,用国际货币符号代替;
如果出现在一个模式中,用货币十进制分隔符代替十进制分隔符

 

double a=3.1415

 DecimalFormat f = new DecimalFormat("000.000")

System.out.println("f.format(a)")   输出是003.141

3.大数字运算

BigInteger类 比Int类储存范围要广

BigInteger bi = new BigInteger("5") 可以直接用字符串构造的 大数结构

表1 BigInteger类的常用运算方法
方法名称说明
add(BigInteger val) 做加法运算
subtract(BigInteger val) 做减法运算
multiply(BigInteger val) 做乘法运算
divide(BigInteger val) 做除法运算
remainder(BigInteger val) 做取余数运算
divideAndRemainder(BigInteger val) 做除法运算,返回数组的第一个值为商,第二个值为余数
pow(int exponent) 做参数的 exponent 次方运算
negate() 取相反数
shiftLeft(int n) 将数字左移 n 位,如果 n 为负数,则做右移操作
shiftRight(int n) 将数字右移 n 位,如果 n 为负数,则做左移操作
and(BigInteger val) 做与运算
or(BigInteger val) 做或运算
compareTo(BigInteger val) 做数字的比较运算
equals(Object obj) 当参数 obj 是 Biglnteger 类型的数字并且数值相等时返回 true, 其他返回 false
min(BigInteger val) 返回较小的数值
max(BigInteger val) 返回较大的数值

BigDecimal 类 带小数的大类

BigDecimal add(BigDecimal augend) // 加法操作

BigDecimal subtract(BigDecimal subtrahend) // 减法操作

BigDecimal multiply(BigDecimal multiplieand) // 乘法操作

BigDecimal divide(BigDecimal divisor,int scale,int roundingMode ) // 除法操作

其中,divide() 方法的 3 个参数分别表示除数、商的小数点后的位数和近似值处理模式。

 

表2 roundingMode参数支持的处理模式
模式名称说明
BigDecimal.ROUND_UP 商的最后一位如果大于 0,则向前进位,正负数都如此
BigDecimal.ROUND_DOWN 商的最后一位无论是什么数字都省略
BigDecimal.ROUND_CEILING 商如果是正数,按照 ROUND_UP 模式处理;如果是负数,按照 ROUND_DOWN
模式处理
BigDecimal.ROUND_FLOOR 与 ROUND_CELING 模式相反,商如果是正数,按照 ROUND_DOWN 模式处理;
如果是负数,按照 ROUND_UP 模式处理
BigDecimal.ROUND_HALF_ DOWN 对商进行五舍六入操作。如果商最后一位小于等于 5,则做舍弃操作,否则对最后
一位进行进位操作
BigDecimal.ROUND_HALF_UP 对商进行四舍五入操作。如果商最后一位小于 5,则做舍弃操作,否则对最后一位
进行进位操作
BigDecimal.ROUND_HALF_EVEN 如果商的倒数第二位是奇数,则按照 ROUND_HALF_UP 处理;如果是偶数,则按
照 ROUND_HALF_DOWN 处理

 

标签:BigInteger,12,BigDecimal,val,Random,暑期,熔炉,ROUND,运算
From: https://www.cnblogs.com/galileo9527/p/17548590.html

相关文章

  • 每日总结2023年7月12日
    今日学习:信息系统安全属性:保密性(最小授权原则、防暴露、信息加密、物理保密)、完整性(安全协议、校验码、密码校验、数字签名、公证)、可用性(综合保障(IP过滤、业务流控制、路由选择控制、审计跟踪))、不可抵赖性(数字签名);对称加密技术:加密和解密的密钥是完全一致的(加密强度不高、密钥分......
  • 2023.7.12
    学习java中的类面向对象与面向过程面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象:强调具备了功能的对象,以类/对象为最小单位类与对象的关系类:对一类事物的描述,是抽象的、概念上的定义对象:是实际存在的该类事物的每个个体,因而也称为实例(instance)面向对象......
  • js 根据时间,输出几分钟前,几小时前,几天前,几个月前,几年前。 console.log(getDateDiff("
    js根据时间,输出几分钟前,几小时前,几天前,几个月前,几年前。原文链接:https://blog.csdn.net/qq_42740797/article/details/111277824代码1://时间戳转多少分钟之前functiongetDateDiff(dateTimeStamp){//时间字符串转时间戳vartimestamp=newDate(dateTimeStamp).g......
  • 7.12 周三总结
    学了循环语句while,两道力扣算法题和do......while循环,无限循环和跳转控制语句,循环高级练习和平方根。做了一些pta试题,略微复习了一下前面c++中所学习过的内容。明天除了继续按照进度听课之外,还开始进行大道至简的阅读与感悟。......
  • 2023河南萌新联赛第(一)场:河南农业大学 11/12
    晚来了一小时,终榜14名,血亏https://ac.nowcoder.com/acm/contest/61132A题不会,我选择oeisn=int(input())print(n*(n+1)*(n+2)//6%1000000007)python代码B题考虑线段树f[x][i][0]表示如果x所统辖的区间里,x第i位为0做计算得到的值,f[x][i][1]表示x所统辖的区间里,第i位为1做计......
  • 7.12
    面向对象是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Smaltalk语言之中进行了应用,后来根据面向对象的设计思路,才形成C++,而由C++产生了Java这门面向对象的编程语言。但是在面向对象设计之前,广泛采......
  • Day08(2023.07.12)
    行程8:45    到达上海市信息安全测评认证中心(黄浦区陆家浜路1308号)9:00  学习《网络安全等级测评师培训教材》11:30--13:00   吃饭休息13:00 学习《网络安全等级测评师培训教材》17:00      下班 路由器:堡垒机:如......
  • LeetCode 剑指 Offer 12. 矩阵中的路径
    题目链接:LeetCode剑指Offer12.矩阵中的路径题意:给定一个 mxn二维字符网格 board和一个字符串单词 word。如果 word存在于网格中,返回true;否则,返回false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元......
  • HHHOJ #1238. 「NOIP 2023 模拟赛 20230712 D」但战斗还未结束 思考--zhengjun
    赛时想写60pts,结果cxr似乎少算了一点空间,导致我一直没把空间卡过去QWQ。当时不会dfs求拓扑序,这里讲一下。枚举所有非访问过的点依次dfs,每次进行下列操作:找出\(v\)的一个未访问过的入点\(u\),调用dfs(u);找不到\(u\)的时候,把\(v\)加入拓扑序列中。代码#inc......
  • 123
    之前由于安装Dolby音效的软件,导致无法开机解决办法:1.安全启动开机按F8,选择“安全启动”,进入到系统2.删除程序如果软件和驱动可以直接卸载就卸载,不能卸载就用文件夹在C盘搜索相关文件名,然后删除所有的文件,如果无权删除可以右击使用腾讯电脑管家删除。如果没有安装电脑管......