public static int compare(double d1, double d2) {
if (d1 < d2)
return -1; // Neither val is NaN, thisVal is smaller
if (d1 > d2)
return 1; // Neither val is NaN, thisVal is larger // Cannot use doubleToRawLongBits because of possibility of NaNs.
long thisBits = Double.doubleToLongBits(d1);
long anotherBits = Double.doubleToLongBits(d2); return (thisBits == anotherBits ? 0 : // Values are equal
(thisBits < anotherBits ? -1 : // (-0.0, 0.0) or (!NaN, NaN)
1)); // (0.0, -0.0) or (NaN, !NaN)
}

  Double底层实现,比较的时候不能直接用==逻辑运算符来进行判断,因为会存在精度问题,所以转为long类型进行判断更为合适

2个Double字符串进行的更多相关文章

  1. Java "double字符串转数字"

    1.int 表示数字的简单类型(值类型),double 表示数字的双精度类型(值类型),  而Integer和Double类型是一个引用的复杂类型 2.Integer.valueOf(String s ...

  2. int/double/string使用

    在计算机中存储数据和儿童在抽屉中存放物品很类似. 例如: 要在计算机中存一个数字50,需要两句话. int a;  //将要放的物品告诉家长 a=50;  //将物品放到某个抽屉中 计算机存储变量的过 ...

  3. Thrift的TJsonProtocol协议分析

    Thrift协议实现目前有二进制协议(TBinaryProtocol),紧凑型二进制协议(TCompactProtocol)和Json协议(TJsonProtocol). 前面的两篇文字从编码和协议原 ...

  4. struts2 Advanced Learning

    catalog . 引言 . struts2的类型转换 . struts2的输入校验 . struts2的拦截器机制 . 使用struts2的Ajax支持 . struts2 OGNL表达式 . st ...

  5. MongoDB快速上手

    1.  MongoDB简介 MongoDB是一个跨平台的基于Key_Value键值对形式保存数据的NoSQL文档类型数据库. NoSQL(not only sql)数据库,泛指非关系型数据库. 1.1 ...

  6. Java 知识点:序列化

    首先明确一点:默认的序列化方法速度很慢,因为需要对整个对象和他的类都进行保存,因此我们建议自定义序列化格式. ObjectInputStream和ObjectOutputStream 用途 Objec ...

  7. lua 基本

    Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱. 所以,我只简单的归纳一下 Lua 的一些语法规则,使用起来方便好查就可以了.估计看完了,就懂得怎么写 Lua 程序了. 在 Lua 中,一 ...

  8. Matlab编程-数值计算相关语法

    1.变量的命名规则(类似C语言): (1)    区分大小写 (2)    变量长度不超过31位 (3)    变量名以字母开头,变量名中包含字母.数字.下划线,不可以用标点 2. Mathlab预定 ...

  9. c++四则运算代码

    //Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--& ...

随机推荐

  1. python+requests接口用例

    本实例通过请求接口登录系统,获取了配置项的ID,并最终实现了对配置项的默认值进行修改 使用到的接口请求方法有:get(查询) ,post(新增),put(修改) 遇到的阻碍点见下面具体代码处的详解 编 ...

  2. 七、AIDE入侵检测

    Aide通过检查数据文件的权限.时间.大小.哈希值等,校验数据的完整性 部署AIDE入侵检测系统 [root@proxy ~]# yum -y install aide         //安装软件包 ...

  3. 【NX二次开发】Block UI 树列表

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  4. Java算法面试题(史上最强、持续更新、吐血推荐)

    文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...

  5. 剑指0ffer59.滑动窗口的最大值

    给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值. 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] ...

  6. eclipse语言怎么设置为中文

    2021-05-30 方法:1.查找语言包下载网址,并复制:2.打开eclipse,点击"help"-"Install New Software"-" ...

  7. 《手把手教你》系列技巧篇(七)-java+ selenium自动化测试-宏哥带你全方位吊打Chrome启动过程(详细教程)

    1.简介 经过前边几篇文章和宏哥一起的学习,想必你已经知道了如何去查看Selenium相关接口或者方法.一般来说我们绝大多数看到的是已经封装好的接口,在查看接口源码的时候,你可以看到这个接口上边的注释 ...

  8. Vue(14)slot插槽的使用

    为什么使用slot slot(插槽) 在生活中很多地方都有插槽,电脑usb的插槽,插板当中的电源插槽 插槽的目的是为了让我们原来的设备具备更多的扩展性 比如电脑的USB我们可以插入U盘,手机,鼠标,键 ...

  9. C. Learning Languages 求联通块的个数

    C. Learning Languages 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring&g ...

  10. VMware-克隆虚拟机(CentOS7)

    采用克隆完整克隆 修改系统参数,除了IP和主机名以外. 第一步 修改mac地址 在虚拟机还未启动之前,先修改该系统的mac地址,如下操作所示. 生成新的mac地址 修改主机名(reboot后生效) $ ...