项目中钱(money)的类型应该用哪个?
浮点型(float,double):不适合做钱的类型
double n1=0.03;
double n2=0.02;
System.out.println("double计算:"+(n1-n2));
结果为:0.009999999999999998
float f1=0.02f;
float f2=0.01f;
System.out.println("float计算:"+(f1-f2));
结果为:0.01 涉及到类型转换。
BigDecimal bg=new BigDecimal("0.03");
BigDecimal bg1=new BigDecimal("0.02");
//加法
System.out.println("加法:"+bg.add(bg1));
//减法
System.out.println("减法:"+bg.subtract(bg1));
//乘法
System.out.println("乘法:"+bg.multiply(bg1));
//除法
System.out.println("除法:"+bg.divide(bg1));
结果为: 加法:0.05、减法:0.01、乘法:0.0006、除法:1.5。
mony的精度是4位.
mony的另外一个好处就是,在汇率转换的时候比较方便.并且在显示的时候,可以多元化.
Bigdecimal类是专门为解决浮点数无法精确计算而设计的。并且提供了常用的算术运算方法。特别是与数据库Decimal映射时,BigDecimal是最优方案。
项目中钱(money)的类型应该用哪个?相关推荐
- 【Java学习】从一个简单的HelloWorld项目中入门maven
创建一个maven项目 这里推荐官方文档:maven官方文档 [注]此篇文章也是笔者学习笔记,如有错误,请见谅. [注]我把Goal翻译成命令.比如Plugin Goal: ps:我他喵的写了一大半的 ...
- 案例分享 | 机场急救中心项目中BIM应用
本案例以某机场急救中心项目为例,利用BIM技术对其进行精细化建模,建立参数化族库进行设计深化,通过施工动态模拟指导工作人员施工,旨在建立一套适合于医疗建筑工程的 BIM 管理体系,推动 BIM 技术在 ...
- maven不引入parent_Idea开发环境中,开发springboot类型的项目,如果只引入parent节点,不添加依赖节点,maven是不会加载springboot的任何依赖的...
在SpringBoot类型的项目中,我本来是要使用pringBoot,创建一个Console项目,我原本在pom.xml中添加paren节点了,天真的认为不需要再添加其他任何依赖了,可是接下来的1个小 ...
- 引入 javascript_在您JavaScript项目中引入类型安全性? 再想一想
引入 javascript by James Wright 詹姆斯·赖特(James Wright) 在您JavaScript项目中引入类型安全性? 再想一想 (Introducing Type Sa ...
- java后台传一个对象到前台_前台判断对象中的一个布尔值_前后台分离的项目中,如何优雅的传输boolean类型的参数...
前言:需求 这是一个Spring + Angular前后台分离的项目,目前有一个查看作业列表的功能,并且已经设置了分页和几个查询参数,如图. 现在需要增加一个已评阅和未评阅的查询功能. Work实体的 ...
- Resx 文件无效。未能加载 .RESX 文件中使用的类型 System.Collections.Generic.List`1请确保已在项目中添加了必需的引用。
在C#程序编写过程中,会遇到:Resx 文件无效.未能加载 .RESX 文件中使用的类型 System.Collections.Generic.List1`请确保已在项目中添加了必需的引用. 主要原因 ...
- Spring Boot 项目中Java对象的字符串类型属性值转换为JSON对象的布尔类型键值的解决方法及过程
文章目录 场景描述 示例说明 解决历程 @JsonFormat是否能解决问题? 万能方案-调试 替代方案 补充知识 Java对象与JSON对象的序列化与反序列化 相关注解说明 后记 场景描述 在Spr ...
- vue项目中,js根据文件名后缀,判断文件图片、视频、文档、pdf等类型的方法
vue项目中,在获得文件名信息,需要根据文件名的后缀来区分文件类型的方法如下:其中,文件后缀可自由拓展. // 根据文件名后缀区分 文件类型/** @param: fileName - 文件名称* @ ...
- C#项目中一些文件类型说明
C#项目中一些文件类型说明 designer.cs 是窗体设计器生成的代码文件,作用是对窗体上的控件做初始化工作(在函数InitializeComponent()中)VS2003以前都把这部分代码放到 ...
最新文章
- 用 Handler 轻松实现专属Android定时器
- Spring教程--AOP简介
- python如何删除文件夹下文件和文件夹?
- linux--select
- ecmsadmin.php空白,帝国CMS 后台登录空白 处理方法一则
- 敏捷开发的6个实战经验
- unique函数_unique函数使用场景(一)
- 計算機二級-java09
- [******] 堆排序
- HTML代码 笔记 部分
- 一名 IT 经理是如何把项目带崩的?
- A[1054] The Dominant Colour (map!!)
- Linux虚拟机中vim编辑器常用命令介绍(二)
- 计算机考研四门专业课是什么,2019计算机考研专业课复习问题答疑
- LinuxCNC虚拟机环境搭建
- 餐厅点菜c语言程序代码,C语言编程——餐馆点菜
- RabbitMQ入门到精通
- Android根据语言适配货币符,ios – 使用NSLocale根据国家/地区代码或国家/地区名称获取货币符号...
- DP分类题目 转载 《志当存高远》大神的 没有冒犯的意思 只是拿过来学习的
- 笔试加分题:有16瓶水,其中只有一瓶水有毒,小白鼠喝一滴之后一小时会死。请问最少用() 只小白鼠,在1小时内一定可以找出有毒的水?