BigDecimal乘以100的几种方法
当我使用Java-BigDecimal时遇到一个问题,一个BigDecimal对象乘以100时,哪种方法会更好?
这在银行类的项目非常常见,鄙人了解有以下三种方法:
1、movePointRight,一个 BigDecimal,它等效于将该值的小数点向右移动 n 位。
2、multiply,this * multiplicand,返回相乘的值。
3、返回其数值等于 (this * 10n) 的 BigDecimal。
示例代码:
BigDecimal b1 = new BigDecimal(0);//movePointRightlong start = System.currentTimeMillis();for(int i = 0; i <10000000; i ++){BigDecimal d = new BigDecimal(99); b1 = d.movePointRight(2);} long end = System.currentTimeMillis();System.out.println("movePointRight:" + (end -start) );//multiplystart = System.currentTimeMillis();for(int i = 0; i <10000000; i ++){BigDecimal d = new BigDecimal(99); b1 = d.multiply(BigDecimal.TEN).multiply(BigDecimal.TEN);} end = System.currentTimeMillis();System.out.println("multiply:" + (end -start) );//scaleByPowerOfTenstart = System.currentTimeMillis();for(int i = 0; i <10000000; i ++){BigDecimal d = new BigDecimal(99); b1 = d.scaleByPowerOfTen(2);} end = System.currentTimeMillis();System.out.println("scaleByPowerOfTen:" + (end -start) );
movePointRight:278
multiply:250
scaleByPowerOfTen:44
可能方法3效率更高。
BigDecimal乘以100的几种方法相关推荐
- BigDecimal乘以100的几种方法 及性能测试
最近用到decimal计算要乘100 //修改主观题得分率为:主观题得分/总分 修改客观题得分率为:客观题得分/总分 if (Objects.nonNull(exam.getTotalScore()) ...
- 一只青蛙一次可以跳上1级台阶,也可以跳上2级,也可以跳上3级 请问跳100级有多少种方法?
一只青蛙一次可以跳上1级台阶,也可以跳上2级,也可以跳上3级 请问跳100级有多少种方法? 动态规划?错了请骂我 public void solve(){String dp[] = new Strin ...
- 1 2 5组合100,有多少种方法
问题描述:用随意多个1 2 5三个数字的组合,使其值为100,有多少种组合方法? 基础解法:穷举法,1穷举100次,2穷举50次,5穷举20次,这种方法总共穷举的次数为100*50*20=100 00 ...
- win10硬盘100% 处理3种方法
方法1.修改注册表: 具体方法: 1.按下WIN+R调出运行,然后输入 regedit 回车; 2.在注册表编辑器中定位到:HKEY_LOCAL_MACHINESYSTEMCurrentControl ...
- 通过指针访问二维数组的三种方法
下面总结了一下通过指针访问二维数组的三种方法,里边涉及指针.指针数组.数组指针.指向指针的指针以及二维数组的应用,愿对于大家理解和使用指针有所参考和帮助. 程序如下: #include <std ...
- html页脚位置调整,将页脚始终控制在页面最下方的几种方法
html和body的高度并不一定相同,在内容少的时候,body的高度要小于html,当然这只会出现在body中的内容所占的空间高度小于浏览器的视口高度的时候,此时html的高度大于body的高度.网页 ...
- python生成100个随机数_Python_0——100闭区间产生3个随机数,两种方法排序
''' 题目:0--100闭区间产生3个随机数,两种方法排序 法1:暴力遍历 法2:max(a,b,c)min(a,b,c) 注意:random,radint(0--100)产生随机数 '''impo ...
- 队列实现栈的3种方法,全都击败了100%的用户!
作者 | 王磊 来源 | Java中文社群(ID:javacn666) 转载请联系授权(微信ID:GG_Stone) 本文已收录至 Github<小白学算法>系列:https://gith ...
- php循环求1到100偶数,用while循环计算打印2到100的偶数和的几种方法
用while循环计算打印2到100的偶数和(三种方法) 1. 循环-while 语法:while(条件){ //循环体-循环操作//更新循环条件++/--: } 2.continue 作用:终止本次循 ...
最新文章
- form表单提交踩坑记
- 零基础入门学python 第二版-《零基础入门学习Python》第二版和第一版的区别在哪里呢?...
- 统计寄存器AX中1 的个数
- leetCode第五题-求字符串最长回文字符串
- 【错误记录】Error creating bean with name: Unsatisfied dependency expressed through field
- HBase读写的几种方式(三)flink篇
- 小爱同学app安卓版_小爱课程表3.0全新升级 课表倒入更简单所有手机能用
- 57、剑指offer--二叉树的下一结点
- python培训班靠谱吗-Python培训班多少钱
- 数学科普书籍介绍(一)
- 双卡双待的iPhone终于要来了?中国特供了解一下!
- 华硕a豆安装ubuntu14.04系统开启wifi
- HDU 4427 Math Magic (2012长春-dp )
- 可更新鸿蒙的手机,华为EMUI 11首批10款手机适配:可优先升级鸿蒙OS 2.0
- 《高性能MySQL》阅读-高性能索引策略
- “第一股”争夺战:每日优鲜、叮咚买菜及美菜网谁能杀出重围?
- Web Service 自动生成代码报错
- 常熟理工学院计算机专业排名2015,2019年常熟理工学院优势专业排名及分数线
- -- 40、查询选修“张三“老师所授课程的学生中,成绩最高的学生信息及其成绩
- 在线查询IP及IP信息
热门文章
- 8750H带的动MATLAB2019吗,「多图」九代i7-9750H笔记本标压处理器与前代8750H性能对比...
- 【人脸识别实战一】系统架构设计
- 学生管理系统---代码实现
- 浅谈NFT抵押借贷的三种模式:点对点、资金池和中心化模式
- 19类商标买卖需要注意啥呢
- 计算机更新80072f76,更新win10系统出现错误代码0x80072f76如何解决
- M301H_JL九联-Hi3798MV300-当贝纯净桌面-卡刷固件包
- 西瓜视频破解js爬虫
- leetcode 题解 (500-1000题,持续更新,part 2)
- 2023年制造业产品经理NPDP认证报名入口及指南