天天看點

遇到double 數目過大,轉String變成科學計數法

問題:

  java中,當double數目過大,轉出String時,變成了科學記數法的表示。

總結:

  1.項目的存儲用的是mysql,mysql的類型和java類型之間存在映射關系,以前關注不多。現在總結一下:

  

類型名稱

顯示長度

資料庫類型

JAVA類型

JDBC類型索引(int)

描述

VARCHAR

L+N

java.lang.String

12

CHAR

N

1

BLOB

java.lang.byte[]

-4

TEXT

65535

-1

INTEGER

4

INTEGER UNSIGNED

java.lang.Long

TINYINT

3

TINYINT UNSIGNED

java.lang.Integer

-6

SMALLINT

5

SMALLINT UNSIGNED

MEDIUMINT

8

MEDIUMINT UNSIGNED

BIT

java.lang.Boolean

-7

BIGINT

20

BIGINT UNSIGNED

java.math.BigInteger

-5

FLOAT

4+8

java.lang.Float

7

DOUBLE

22

java.lang.Double

DECIMAL

11

java.math.BigDecimal

BOOLEAN

同TINYINT

ID

PK (INTEGER UNSIGNED)

DATE

10

java.sql.Date

91

TIME

java.sql.Time

92

DATETIME

19

java.sql.Timestamp

93

TIMESTAMP

YEAR

  2. 對于bolb,一般用于對圖檔的資料庫存儲,原理是把圖檔打成二進制,然後進行的一種存儲方式,在java中對應byte[]數組。

   3. 對于boolen類型,在mysql資料庫中,個人認為用int類型代替較好,對bit操作不是很友善,尤其是在具有web頁面開發的項目中,表示0/1,對應java類型的Integer較好。

  4. 這次遇到的問題,我用的解決方案就是mysql端用decimal來存儲,然後java端用BigDecimal來接收,

    涉及了Decimal的一些用法:

decimal轉int

int 轉decimal

 本文轉自二郎三郎部落格園部落格,原文連結:http://www.cnblogs.com/haore147/p/5485425.html,如需轉載請自行聯系原作者