`

Integer类型溢出显示负数

    博客分类:
  • JAVA
 
阅读更多
    工作中遇到后台计算出来的金额在前台展示展示竟然是负数。看了下算法和数据里的数据都没错,而最终算出来的金额是:3000000000,前台展示为:-1294967296。后来发现我把金额定义为整数了,整数的最大范围是2147483647,算出来的金额大于整数的最大范围。解决办法定义为长整型。
    java中的一个整数占4个字节,一个字节8位。用二进制数表示是:1111111111111111111111111111111,十进制数表示范围是:-2147483648~2147483647。
分享到:
评论

相关推荐

    解决时间戳long转换int溢出(即转换值为负数) long转int

    当long类型的时间戳转换为int类型时,如果long值超过了int能表示的最大值(2^31 - 1,即2,147,483,647),就会发生溢出,转换后的结果会变成负数。例如,在提供的代码片段中,`int intTimeStamp = (int) ...

    mysql unsigned 用法及相减出现补数溢出解决方法

    MySQL中的`unsigned`关键字是用来声明一个整数类型的字段不接受负数,仅允许存储非负数值。这个特性是MySQL特有的,非标准SQL所支持。使用`unsigned`的主要优点有两个: 1. **约束数值范围**:它能确保字段中的数据...

    HugeInteger

    创建一个大整数类HugeInteger,该类用一个40个元素的...2. 大数的输入: 正数形式为”12345”,负数形式为”-123456” 3. 如果运算溢出,截取低40位结果。 4. 包名hugeinteger 中i为小写,类名HugeInteger中I为大写。

    ASP技术常遇问题解答-如何解决“cint和clng的溢出出错”问题?.zip

    1. **数值过大**:如果尝试转换的数值超过了Integer或Long数据类型的限制,就会导致溢出。例如,尝试将一个超过32,767的正数转换为Integer,或超过2,147,483,647的数值转换为Long。 2. **负数过小**:类似地,如果...

    ReverseInteger算法Demo

    在这个Java代码中,我们首先判断输入的整数是否为负数,然后使用一个`long`类型的变量`reversedNum`来存储反转后的数字,以防止溢出。在循环中,我们逐位取出原数的个位,将其加到`reversedNum`的前面,并不断更新`x...

    Huge Integer

    7. **溢出检查**:在进行大整数运算时,需要时刻注意是否超过数组的容量,防止溢出。当结果的位数超过数组长度时,可能需要扩展数组或者使用链表存储。 8. **内存管理**:由于大整数可能需要动态分配内存,因此在...

    第3章 PL-SQL数据类型

    - **异常处理**:在执行运算过程中,如果发生溢出,`PLS_INTEGER` 会抛出异常,而 `BINARY_INTEGER` 在某些情况下不会。 #### 三、使用场景与建议 1. **选择合适的数字类型**:根据数据的实际需求选择最适合的数字...

    js代码-整数反转 1.考虑负数 2.溢出

    这个话题主要涉及两个关键点:处理负数和防止溢出。让我们深入探讨这两个方面。 首先,让我们来谈谈如何处理负数。在反转一个正整数时,我们可以简单地将每个数字位颠倒过来。例如,整数123反转后变成321。但当涉及...

    2-JavaSE之数据类型与运算符1

    在Java中,整型运算可能会导致溢出,比如当一个int值超过其最大值(Integer.MAX_VALUE)时,会向负数方向溢出。例如: ```java int maxValue = Integer.MAX_VALUE; int minValue = Integer.MIN_VALUE; System.out....

    Printing big integer,简单python程序

    这意味着你可以创建和操作任意大的整数,而不会遇到像其他一些编程语言那样的溢出问题。Python通过内置的`int`类型来处理这种无限制大小的整数。 要将大整数转换为图形形式,我们需要编写一个函数,该函数接受一个...

    重难点之java基本类型.pdf

    每个基本类型的取值范围在对应的包装类(如`Byte`, `Short`, `Integer`, `Long`, `Float`, `Double`)中以常量形式定义,如`Byte.MIN_VALUE`和`Byte.MAX_VALUE`等。这些包装类提供了将基本类型转换为对象的能力,...

    Visual Basic课件:第4章.Visual Basic语言基础.ppt

    例如,如果试图存储超出Integer类型范围的数值,就会发生溢出错误。同样,如果需要高精度计算,使用Double而非Single会更合适。 在编程时,合理选择数据类型不仅可以优化程序性能,还能确保数据的正确性和程序的...

    c代码-1.3整型数据的溢出

    2. 负数溢出:负数减去一个较大的负数可能会导致结果超出int的最小值,例如-2,147,483,648 - 1。 3. 乘法溢出:两个较小的整数相乘也可能超过int的最大值,例如32,767 * 65537。 4. 类型转换溢出:当一个大于目标...

    VB 赋值相容问题的验证

    1. **数据溢出**:当赋值操作可能导致数值超出目标类型的最大范围时,可能会发生溢出错误。例如,将大于Integer最大值的Long值赋给Integer变量。解决方案是确保目标变量能容纳赋值的数值,或者使用更大的数据类型。 ...

    Recursive-seek-integer-reverse.rar_reverse recursive_seek

    对于反转整数,基础情况可能是当输入的整数为0或者负数的绝对值时,此时可以直接返回该数,因为0本身已经倒序,负数的符号不改变,但数值部分需要倒序。 2. **递归步骤**:对于非基础情况,我们需要将整数除以10,...

    关于MySQL的整型数据的内存溢出问题的应对方法

    MySQL中的整型数据类型是用于存储整数值的,它们包括TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)、BIGINT等。每种类型的存储空间和可表示的数值范围都不同,这对于数据库设计和性能优化至关重要。当超出这些类型...

Global site tag (gtag.js) - Google Analytics