Java经典实例:比较浮点数
/**
* Created by Frank
* 比较浮点数
*/
public class FloatCmp {
// 公差
private final static Double EPSILON = 0.0000001; public static void main(String[] args) {
double da = 3 * .3333333333;
double db = 0.99999992857; // 基本类型可以优先使用==进行比较
if (da == db) {
System.out.println("Java considers " + da + "==" + db);
}
// 使用重载的equals方法
else if (equals(da, db, 0.0000001)) {
System.out.println("Equal within epsilon " + EPSILON);
} else {
System.out.println(da + "!=" + db);
}
} /**
* 在给定精度范围内比较2个double类型值
*
* @param a 参数a
* @param b 参数b
* @param eps 给定的公差值
* @return 比较结果
*/
public static boolean equals(double a, double b, double eps) {
return a == b || Math.abs(a - b) < eps;
} /**
* 在缺省的误差范围内比较2个double类型值
*
* @param a 参数a
* @param b 参数b
* @return 比较结果
*/
public static boolean equals(double a, double b) {
return equals(a, b, EPSILON);
}
}
Java经典实例:比较浮点数的更多相关文章
- Java经典实例:正则表达式,替换匹配的文本
		import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by Frank * 替换匹配的文本 */ ... 
- Java 经典实例:自定义迭代器
		编写自己的Iterator,实现Iterator接口,这里多说一句,实现Iterable后,可以用"foreach"循环遍历你的对象. import java.util.Itera ... 
- Java经典实例:把字符串解析为日期时间
		Java版本:1.8开始 import java.time.LocalDate; import java.time.LocalDateTime; /** * Created by Frank */ p ... 
- Java经典实例:纪元秒和本地日期时间互换
		Java版本:1.8开始 import java.time.Instant; import java.time.ZoneId; import java.time.ZonedDateTime; /** ... 
- Java经典实例:使用DateFormatter来格式化日期时间
		Java版本:1.8开始 import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; ... 
- Java经典实例:使用ChoiceFormat来格式化复数
		import java.text.ChoiceFormat; /** * Created by Frank */ public class FormatPuralsChoice extends For ... 
- Java经典实例:在文本中匹配换行符
		默认情况下,正则表达式 ^ 和 $ 忽略行结束符,仅分别与整个输入序列的开头和结尾匹配.如果激活 MULTILINE 模式,则 ^ 在输入的开头和行结束符之后(输入的结尾)才发生匹配.处于 MULTI ... 
- Java经典实例:在正则表达式中控制大小写
		默认是:区分大小写的: 传递标志参数:Pattern.CASE_INSENSITIVE,以说明匹配时忽略大小写:如果你的代码运行在不同的地区那么你应该再添加一个Pattern.UNICODE_CASE ... 
- Java经典实例:正则表达式,找到匹配的文本
		import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by Frank */ public cla ... 
随机推荐
- tool list
			http://www.pairwise.org/tools.asp 用例设计工具 组合测试工具pict 代码调试 Findbugs 介绍及使用方法 接口测试工具 webservices studi ... 
- MVC及WebAPI添加Jsonp支持
			Windows Live Writer 有点问题,着色代码看起来不清晰,所以贴的图片,完整代码在最后. 1:MVC实现 大致思路就是实现一个JsonpResult,在ExecuteResult内实现支 ... 
- java容器详细解析
			前言:在java开发中我们肯定会大量的使用集合,在这里我将总结常见的集合类,每个集合类的优点和缺点,以便我们能更好的使用集合.下面我用一幅图来表示 其中淡绿色的表示接口,红色的表示我们经常使用的类. ... 
- SpringAOP之静态代理
			一.SpringAOP: ⒈AOP:Aspect Oriented Programming 面向切面编程, 实现的是核心业务和非核心业务之间的的分离,让核心类只做核心业务,代理类只做非核心业务. ⒉ ... 
- KendoUI系列:Grid
			1.基本使用 <div id="grid"></div> <link href="@Url.Content("~/Content/ ... 
- 【WP 8.1开发】解决调用真实摄像头会死机的问题
			无论你是用Silverlight还是用RT的API来开发,在使用MediaCapture拍照片或录视频时,要是在模拟器上运行会万事大吉:但是,一旦放到真实手机上运行,肯定有人发现了,细心的朋友肯定发现 ... 
- jQuery尺寸算法
			我们默认都统一是采用offsetWidth或者offsetHeight取值了,但我们知道关于这2个尺寸的算法是这样的: offsetWidth = border-left-width + paddin ... 
- Cocos2d-x 3.2 学习笔记(十三)CocoStudio UI编辑器 by 保卫萝卜
			关于编辑器部分研究的不多,但基本能使用.最近时间不是很多,因此写blog的次数越来越少了.自从玩了<保卫萝卜>时候一直想要写一下,同时练下手感.基本的结构已经写的差不多了,主要完善写UI和 ... 
- Java多线程系列--“JUC集合”02之 CopyOnWriteArrayList
			概要 本章是"JUC系列"的CopyOnWriteArrayList篇.接下来,会先对CopyOnWriteArrayList进行基本介绍,然后再说明它的原理,接着通过代码去分析, ... 
- [c++] Basic ideas and Style Guide
			Get your own compiler: sudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo apt-get updatesudo ap ... 
