Java处理带小数的数字
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处理带小数的数字相关推荐
- java 3位小数_数字有效小数第三位四舍五入
[java]代码库import javax.swing.JOptionPane; public class Test { public static void main(String[] args) ...
- Java除法结果带小数、进一法的实现(java)
Java除法结果带小数.进一法的实现(java) Java除法结果带小数.进一法的实现(java) 进一法: 即省略的位上只要大于零都要进一位 : 四舍五入法: 即省略的位上小于五都要舍去,但省略的位 ...
- java随机数带字母_随机生成一组随机数(带字母和数字)
随机生成一组随机数(带字母和数字) package com.qfx.util; import java.util.Random; public class CharacterUtils { // 得到 ...
- Java除法结果带小数、进一法的实现 Java问题通用解决代码
http://blog.csdn.net/windone0109/article/details/5355379进一法: 即省略的位上只要大于零都要进一位 : 四舍五入法: 即省略的位上小于五都要舍 ...
- Java除法结果带小数、进一法的实现
进一法: 即省略的位上只要大于零都要进一位 : 四舍五入法: 即省略的位上小于五都要舍去,但省略的位上满五都要进一位 : 还有一种 去尾法: 即省略的位上不管是否满五都要舍去 : 1.除法带小数 例如 ...
- php数字两位小数_PHP数字价格格式化,保留两位小数
jQuery EasyUI/TopJUI基本的数字输入框(保留两位小数,带前缀后缀...) jQuery EasyUI/TopJUI基本的数字输入框(保留两位小数,带前缀后缀...) numberbo ...
- java判断字符串是否为数字的几种方式
一,使用StringUtils工具类: 通过StringUilts工具包进行判断: org.apache.commons.lang3.StringUtils提供了丰富的字符串解析的工具包,其中isNu ...
- java中如何确定是数字_java中怎么判断指定的数据是字符串是否是数字?
展开全部 java中判断字符串是否为数字的方法: 1.用JAVA自带的函数 public static boolean isNumeric(String str){for (int i = 0; i ...
- python怎么创建列表_用Python将一个列表分割成小列表的实例讲解 Python 如何创建一个带小数的列表...
python里有一个列表,列表里有几个小列表,小列表#冒泡排序:scoreList = [['a',98],['c',45],['b',70],['d',85],['h',85],['f',92],[ ...
最新文章
- 某系统响应时间慢TPS低性能瓶颈调优过程
- Redis源码剖析(六)事务模块
- 基于Socket的java网络编程
- 机器学习中防止过拟合方法
- ms sql 触发器( 转)
- 安装mysql没有提示设置密码_18.04安装mysql没有提示输入密码
- 第三篇 :微信公众平台开发实战Java版之请求消息,响应消息以及事件消息类的封装...
- 通过Intent传递类对象
- 关于Lattic Diamond软件安装不成功问题(license问题)
- 怎样修复win10计算机系统,几种常见修复win10系统情况及修复方法介绍
- 清新漂亮简约好看的个人博客网站模板
- 单芯片快速以太网MAC控制器DM9000介绍续
- javascript实现数字拼图
- 摄像头(camera)数据传输中 码率/比特率(Bit rate) 与 带宽(Bandwidth)对应表
- 李佳琦月赚80万:这个时代,你再努力也拼不过这种人
- 国外调查问卷项目赚美金
- Spring启动自动执行方法
- 计算机联锁控制系统技术是,铁路信号计算机联锁控制系统容错技术探析
- 【思维进阶】就业市场调研-游戏行业
- 记录apache2.4.34更换mpm模式