ava中提供了浮点数float和double类型表示小数计算,但是设计这2类型主要是为了科学计算和工程设计而设计的。

因此,并没有提供完全精确的结果,所以不应该被用于需要精确结果的场合。特别是货币计算

正确的使用姿势(代码中最后一部分):

public static void main(String []args){Double a = 1.03d;Double b = 0.41d;System.out.println(a-b); // 0.6200000000000001BigDecimal c = new BigDecimal(23.4470);BigDecimal d = new BigDecimal("0.4");System.out.println(c.subtract(d)); //23.046999999999999175770426518283784389495849609375BigDecimal e = new BigDecimal("23.4470");BigDecimal f = new BigDecimal("0.4");System.out.println(e.subtract(f)); // 23.0470System.out.println(f.subtract(e)); // -23.0470System.out.println(f.add(e)); // 23.8470System.out.println(f.multiply(e)); // 9.37880System.out.println(e.divide(f)); // 58.6175}
BigDecimal 提供了好几种的构造函数、取精度、上下取整的方法。可以参考API详细学习,如果遇到小数计算,别直接用float和double类型处理就行。

Java处理带小数的数字相关推荐

  1. java 3位小数_数字有效小数第三位四舍五入

    [java]代码库import javax.swing.JOptionPane; public class Test { public static void main(String[] args) ...

  2. Java除法结果带小数、进一法的实现(java)

    Java除法结果带小数.进一法的实现(java) Java除法结果带小数.进一法的实现(java) 进一法: 即省略的位上只要大于零都要进一位 : 四舍五入法: 即省略的位上小于五都要舍去,但省略的位 ...

  3. java随机数带字母_随机生成一组随机数(带字母和数字)

    随机生成一组随机数(带字母和数字) package com.qfx.util; import java.util.Random; public class CharacterUtils { // 得到 ...

  4. Java除法结果带小数、进一法的实现 Java问题通用解决代码

    http://blog.csdn.net/windone0109/article/details/5355379进一法: 即省略的位上只要大于零都要进一位 :  四舍五入法: 即省略的位上小于五都要舍 ...

  5. Java除法结果带小数、进一法的实现

    进一法: 即省略的位上只要大于零都要进一位 : 四舍五入法: 即省略的位上小于五都要舍去,但省略的位上满五都要进一位 : 还有一种 去尾法: 即省略的位上不管是否满五都要舍去 : 1.除法带小数 例如 ...

  6. php数字两位小数_PHP数字价格格式化,保留两位小数

    jQuery EasyUI/TopJUI基本的数字输入框(保留两位小数,带前缀后缀...) jQuery EasyUI/TopJUI基本的数字输入框(保留两位小数,带前缀后缀...) numberbo ...

  7. java判断字符串是否为数字的几种方式

    一,使用StringUtils工具类: 通过StringUilts工具包进行判断: org.apache.commons.lang3.StringUtils提供了丰富的字符串解析的工具包,其中isNu ...

  8. java中如何确定是数字_java中怎么判断指定的数据是字符串是否是数字?

    展开全部 java中判断字符串是否为数字的方法: 1.用JAVA自带的函数 public static boolean isNumeric(String str){for (int i = 0; i ...

  9. python怎么创建列表_用Python将一个列表分割成小列表的实例讲解 Python 如何创建一个带小数的列表...

    python里有一个列表,列表里有几个小列表,小列表#冒泡排序:scoreList = [['a',98],['c',45],['b',70],['d',85],['h',85],['f',92],[ ...

最新文章

  1. 某系统响应时间慢TPS低性能瓶颈调优过程
  2. Redis源码剖析(六)事务模块
  3. 基于Socket的java网络编程
  4. 机器学习中防止过拟合方法
  5. ms sql 触发器( 转)
  6. 安装mysql没有提示设置密码_18.04安装mysql没有提示输入密码
  7. 第三篇 :微信公众平台开发实战Java版之请求消息,响应消息以及事件消息类的封装...
  8. 通过Intent传递类对象
  9. 关于Lattic Diamond软件安装不成功问题(license问题)
  10. 怎样修复win10计算机系统,几种常见修复win10系统情况及修复方法介绍
  11. 清新漂亮简约好看的个人博客网站模板
  12. 单芯片快速以太网MAC控制器DM9000介绍续
  13. javascript实现数字拼图
  14. 摄像头(camera)数据传输中 码率/比特率(Bit rate) 与 带宽(Bandwidth)对应表
  15. 李佳琦月赚80万:这个时代,你再努力也拼不过这种人
  16. 国外调查问卷项目赚美金
  17. Spring启动自动执行方法
  18. 计算机联锁控制系统技术是,铁路信号计算机联锁控制系统容错技术探析
  19. 【思维进阶】就业市场调研-游戏行业
  20. 记录apache2.4.34更换mpm模式

热门文章

  1. Swin Transformer源码分析
  2. SQL存储过程来调用webservice
  3. halcon 缺陷检测 mura线检测
  4. 9.1 Ansible 图形界面-AWX
  5. 对奈奎斯特稳定判据的理解
  6. 昆仑通态触摸屏使用时注意事项
  7. 使用迅雷快速下载慢速官网大文件
  8. 基于SpringBoot+SSM实现的Dota2资料库智能管理平台
  9. 计算机视觉(四)全连接神经网络MLP
  10. 全球与中国单晶硅外延片市场深度研究分析报告