浮点型(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)的类型应该用哪个?相关推荐

  1. 【Java学习】从一个简单的HelloWorld项目中入门maven

    创建一个maven项目 这里推荐官方文档:maven官方文档 [注]此篇文章也是笔者学习笔记,如有错误,请见谅. [注]我把Goal翻译成命令.比如Plugin Goal: ps:我他喵的写了一大半的 ...

  2. 案例分享 | 机场急救中心项目中BIM应用

    本案例以某机场急救中心项目为例,利用BIM技术对其进行精细化建模,建立参数化族库进行设计深化,通过施工动态模拟指导工作人员施工,旨在建立一套适合于医疗建筑工程的 BIM 管理体系,推动 BIM 技术在 ...

  3. maven不引入parent_Idea开发环境中,开发springboot类型的项目,如果只引入parent节点,不添加依赖节点,maven是不会加载springboot的任何依赖的...

    在SpringBoot类型的项目中,我本来是要使用pringBoot,创建一个Console项目,我原本在pom.xml中添加paren节点了,天真的认为不需要再添加其他任何依赖了,可是接下来的1个小 ...

  4. 引入 javascript_在您JavaScript项目中引入类型安全性? 再想一想

    引入 javascript by James Wright 詹姆斯·赖特(James Wright) 在您JavaScript项目中引入类型安全性? 再想一想 (Introducing Type Sa ...

  5. java后台传一个对象到前台_前台判断对象中的一个布尔值_前后台分离的项目中,如何优雅的传输boolean类型的参数...

    前言:需求 这是一个Spring + Angular前后台分离的项目,目前有一个查看作业列表的功能,并且已经设置了分页和几个查询参数,如图. 现在需要增加一个已评阅和未评阅的查询功能. Work实体的 ...

  6. Resx 文件无效。未能加载 .RESX 文件中使用的类型 System.Collections.Generic.List`1请确保已在项目中添加了必需的引用。

    在C#程序编写过程中,会遇到:Resx 文件无效.未能加载 .RESX 文件中使用的类型 System.Collections.Generic.List1`请确保已在项目中添加了必需的引用. 主要原因 ...

  7. Spring Boot 项目中Java对象的字符串类型属性值转换为JSON对象的布尔类型键值的解决方法及过程

    文章目录 场景描述 示例说明 解决历程 @JsonFormat是否能解决问题? 万能方案-调试 替代方案 补充知识 Java对象与JSON对象的序列化与反序列化 相关注解说明 后记 场景描述 在Spr ...

  8. vue项目中,js根据文件名后缀,判断文件图片、视频、文档、pdf等类型的方法

    vue项目中,在获得文件名信息,需要根据文件名的后缀来区分文件类型的方法如下:其中,文件后缀可自由拓展. // 根据文件名后缀区分 文件类型/** @param: fileName - 文件名称* @ ...

  9. C#项目中一些文件类型说明

    C#项目中一些文件类型说明 designer.cs 是窗体设计器生成的代码文件,作用是对窗体上的控件做初始化工作(在函数InitializeComponent()中)VS2003以前都把这部分代码放到 ...

最新文章

  1. 用 Handler 轻松实现专属Android定时器
  2. Spring教程--AOP简介
  3. python如何删除文件夹下文件和文件夹?
  4. linux--select
  5. ecmsadmin.php空白,帝国CMS 后台登录空白 处理方法一则
  6. 敏捷开发的6个实战经验
  7. unique函数_unique函数使用场景(一)
  8. 計算機二級-java09
  9. [******] 堆排序
  10. HTML代码 笔记 部分
  11. 一名 IT 经理是如何把项目带崩的?
  12. A[1054] The Dominant Colour (map!!)
  13. Linux虚拟机中vim编辑器常用命令介绍(二)
  14. 计算机考研四门专业课是什么,2019计算机考研专业课复习问题答疑
  15. LinuxCNC虚拟机环境搭建
  16. 餐厅点菜c语言程序代码,C语言编程——餐馆点菜
  17. RabbitMQ入门到精通
  18. Android根据语言适配货币符,ios – 使用NSLocale根据国家/地区代码或国家/地区名称获取货币符号...
  19. DP分类题目 转载 《志当存高远》大神的 没有冒犯的意思 只是拿过来学习的
  20. 笔试加分题:有16瓶水,其中只有一瓶水有毒,小白鼠喝一滴之后一小时会死。请问最少用() 只小白鼠,在1小时内一定可以找出有毒的水?

热门文章

  1. C++将string转为int
  2. 如何保证Web服务器安全
  3. gamit10.70报错 Interval to minimum,something wrong with ICs or model
  4. 欧拉角(Euler Angle)
  5. POJ1679 The Unique MST
  6. 托福备考#3 综合写作与独立写作的写作模版
  7. js去掉html标签
  8. zotero安装教程
  9. AI百晓生chatGPT绘画漫画头像年龄穿梭人工智能源码
  10. 干货满满!OpenStack的探索之路——基础理论精讲