• 遇到double 数目过大,转String变成科学计数法


    问题:

      java中,当double数目过大,转出String时,变成了科学记数法的表示。

    总结:

      1.项目的存储用的是mysql,mysql的类型和java类型之间存在映射关系,以前关注不多。现在总结一下:

      

    类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述
               
    VARCHAR L+N VARCHAR java.lang.String 12  
    CHAR N CHAR java.lang.String 1  
    BLOB L+N BLOB java.lang.byte[] -4  
    TEXT 65535 VARCHAR java.lang.String -1  
               
    INTEGER 4 INTEGER UNSIGNED java.lang.Long 4  
    TINYINT 3 TINYINT UNSIGNED java.lang.Integer -6  
    SMALLINT 5 SMALLINT UNSIGNED java.lang.Integer 5  
    MEDIUMINT 8 MEDIUMINT UNSIGNED java.lang.Integer 4  
    BIT 1 BIT java.lang.Boolean -7  
    BIGINT 20 BIGINT UNSIGNED java.math.BigInteger -5  
    FLOAT 4+8 FLOAT java.lang.Float 7  
    DOUBLE 22 DOUBLE java.lang.Double 8  
    DECIMAL 11 DECIMAL java.math.BigDecimal 3  
    BOOLEAN 1 同TINYINT      
               
    ID 11 PK (INTEGER UNSIGNED) java.lang.Long 4  
               
    DATE 10 DATE java.sql.Date 91  
    TIME 8 TIME java.sql.Time 92  
    DATETIME 19 DATETIME java.sql.Timestamp 93  
    TIMESTAMP 19 TIMESTAMP java.sql.Timestamp 93  
    YEAR 4 YEAR java.sql.Date 91






      2. 对于bolb,一般用于对图片的数据库存储,原理是把图片打成二进制,然后进行的一种存储方式,在java中对应byte[]数组。

       3. 对于boolen类型,在mysql数据库中,个人认为用int类型代替较好,对bit操作不是很方便,尤其是在具有web页面开发的项目中,表示0/1,对应java类型的Integer较好。

      4. 这次遇到的问题,我用的解决方案就是mysql端用decimal来存储,然后java端用BigDecimal来接收,

        涉及了Decimal的一些用法:

    • decimal转int
    BigDecimal a=new BigDecimal(12.88);
    int b=a.intValue(); 
    • int 转decimal
    BigDecimal bigDecimal = new BigDecimal(int val);

        

      

  • 相关阅读:
    几个ID
    一百层高楼和两个棋子
    快速了解的链接 shell sed awk
    用shell实现一个“输入密码”程序
    i love you do you love me
    打造全新视觉环境
    【转】LINUX 环境变量总结
    TextBox输入限制
    获取CPU和硬盘序列号
    Lable属性设置(winform)
  • 原文地址:https://www.cnblogs.com/haore147/p/5485425.html
Copyright © 2020-2023  润新知