`
acrbb
  • 浏览: 11694 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Java Effective 48 - 如果要求精确的答案,请避免使用float和double

阅读更多
   float和double类型的主要设计目的是为了科学计算和工程计算。它们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。float和double类型对于货币计算尤为不合适.

static void floatTest(){
        System.out.println(1.03-0.42);
        System.out.println(1-0.1*9);
        
        //Use BigDecimal, BigInteger, or long
        BigInteger bi;
        BigDecimal bd;
        
        // smaller than Int max, use it. or long if smaller than 10(18), else use BigDecimal
    }
分享到:
评论

相关推荐

    Java Double相加出现的怪事

    在《Effective Java》这本书中也提到这个原则,float 和 double 只能用来做科学计算或者是工程计算,在商业计算中我们要用 java.math.BigDecimal。BigDecimal 一共有 4 个够造方法,我们可以使用 BigDecimal(double ...

    学Java流程--Java语言基础

    1. **变量和数据类型**:Java提供了基本数据类型(如int、char、float、double等)和引用数据类型(如类、接口、数组)。变量是用来存储数据的容器,必须先声明其数据类型,然后才能使用。 2. **运算符**:Java支持...

    java入门级学习笔记

    Java有八种基本数据类型:byte、short、int、long、float、double、boolean和char,每种都有其特定的取值范围和内存占用。 2.3 常量和变量 常量是不可变的值,变量则是存储数据的容器。声明变量时需指定类型,并...

    自整理Java关于基础和框架的面试题

    ### 自整理Java关于基础和框架的面试题 #### 基础知识点 ##### JDK常用的包 - **java.lang**: 包含所有基本类,如`String`、`Math`等。 - **java.util**: 提供集合框架、日期/时间设施、事件模型、杂项实用程序类...

    基于Java语言教程&案例&相关项目资源

    - **数据类型**:掌握Java中的基本数据类型(如整型int、浮点型float/double、字符型char)以及引用数据类型(如数组、类)。 - **变量与操作符**:学习变量声明与初始化,理解不同类型的变量作用域;熟悉算术、...

    【中文】【 JAVA快速查询手册 】【pdf】【8.74 MB】

    1. **基本数据类型**:Java提供了八种基本数据类型,包括整型(int、short、long、byte)、浮点型(float、double)、字符型(char)和布尔型(boolean)。 2. **变量声明与初始化**:在Java中声明变量时需要指定其类型,如`...

    java必备知识点大全.pdf

    Java的基本数据类型:Java中的基本数据类型有byte、short、int、long、float、double、char和boolean。 冒泡排序:一种简单的排序算法,通过重复遍历要排序的数列,比较每对相邻元素,若前者比后者大,则交换它们。...

    java面试知识

    - **浮点型**:float、double - **字符型**:char - **布尔型**:boolean ##### 冒泡排序 - **算法**:比较相邻元素,如果第一个比第二个大,就交换它们的位置。 - **复杂度**:最坏情况和平均情况的时间复杂度为O...

    java面试总结

    - **浮点型**: `float`, `double` - **字符型**: `char` - **布尔型**: `boolean` #### 十六、冒泡排序 - **原理**: 通过不断地比较相邻两个元素的大小,并交换位置,使得较大的元素逐渐“浮”到数组的后面。 - **...

    圣思园教学视频地址

    “原生数据类型”视频深入讲解了Java中的基本数据类型,如整型(int)、浮点型(float和double)、字符型(char)等。理解这些类型是至关重要的,因为它们构成了Java程序的基本构建块,涉及到变量声明、赋值和运算。 ### ...

    深入java虚拟机

    - **基本类型**:包括`byte`、`short`、`int`、`long`、`char`、`float`、`double`、`boolean`等,它们存储原始值。 - **引用类型**:包括类类型、接口类型和数组,这些类型存储的对象引用而非对象本身。 ##### 堆...

    C++程序设计习题与解答

    - **变量与数据类型**:C++支持多种数据类型,如整型(int)、浮点型(float,double)、字符型(char)等。 - **控制结构**:包括条件语句(if-else)、循环语句(for, while, do-while)等。 - **函数**:函数是C++程序的基本...

    C PROGRAMMING TUTORIAL

    - **Influences:** Influenced by earlier languages like BCPL and B, and later influenced languages like C++, Java, and Python. #### Why use C? C is chosen for its simplicity, efficiency, and ...

Global site tag (gtag.js) - Google Analytics