zoukankan      html  css  js  c++  java
  • 遇到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);

        

      

  • 相关阅读:
    关于使用HttpModule模块处理登录验证示例
    Request.Url.Query 和 Request.QueryString的区别
    使用Trace.axd 调试ASP.NET
    asp.net网站 页面缓存
    WCF系列之.net(3.0/3.5)Rest使用示例
    解决TFS无法上传Nuget下载的DLL问题
    WCF系列之.net(4.0)使用示例
    WCF系列之.net(3.0/3.5)使用示例
    批量删除MSSQL被挂JS木马语句
    查询你的数据库有没有被木马注入的可能!
  • 原文地址:https://www.cnblogs.com/haore147/p/5485425.html
Copyright © 2011-2022 走看看