BigDecimal 精准加减乘除
2024-10-19 19:27:50
解决了double和float精确度的问题
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。
BigDecimal是对象
import java.math.BigDecimal;
//使用BigDecimal进行加、减、乘、除
void BigDecimal()
{
BigDecimal a=new BigDecimal(new String ("1234567890123456789012345678901234567890123456789012345678901234567"));
BigDecimal b=new BigDecimal(new String ("1234567890123456789012345678901234567890123456789012345678901234567"));
String c=a.add(b).toString();//加
String d=a.subtract(b).toString();//减
String e=a.multiply(b).toString();//乘
String f=a.divide(b).toString();//除
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
}
作者原文:http://blog.sina.com.cn/s/blog_57112b350100a5kf.html
doc参考:https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html
最新文章
- 深入理解Nginx之调试优化技巧
- 解决php中echo出来的汉子乱码
- MSBuild学习记录
- 41. First Missing Positive
- Eclipse插件的安装方法
- Linux下SSH Session复制
- Android系统--Binder系统具体框架分析(二)Binder驱动情景分析
- Java 9 揭秘(13. Collection API 更新)
- 关于一些常用的linux命令
- opencv学习之路(36)、运动物体检测(一)
- 【Alpha】事后分析
- Some questions after Reading 《移山之道》
- Codeforces Round #418 (Div. 2) B. An express train to reveries
- Cron 表达式详解(已整理、很清晰)
- Ubuntu 14.10 下Eclipse操作HBase
- 更改SQL实例端口
- Java compiler level does not match the version of the installed Java project facet 的解决方案
- Java设计原则—开闭原则(转)
- 关于";作数类型冲突: nvarchar 与 image 不兼容";的问题
- os.fork()
热门文章
- Java中 IO类 - File类中的判断功能
- Windows 断开CIFS共享出现 “此网络连接不存在”
- 2016级算法期末上机-A.简单·Bamboo's Fight with DDLs I
- FlowPortal-BPM——文件目录功能
- jQuery 事件注册
- docker 运行容器时为容器起别名
- 2018青岛网络赛G - Couleur 区间上的启发式合并
- SpringMVC的 @RestController和@Controller 区别
- [Xamarin.Android] 如何使用Google Map V2 (转帖)
- Highcharts图表.net版开源,支持webform 和 mvc3,完全开源