如何在mysql中插入长号

时间:2014-05-03 07:06:06

标签: java mysql

我的类型为123.69727407930787989,我需要使用java将其存储在mysql数据库中。

  1. 应在java中使用的数据类型。
  2. 应在mysql中使用的数据类型。

  3. 如果我想以xxx.xxxxx格式存储,是否需要对此数字进行舍入。如何在java中以这种格式舍入数字

2 个答案:

答案 0 :(得分:0)

您可以在MySQL表中创建十进制列(https://dev.mysql.com/doc/refman/5.1/en/precision-math-decimal-characteristics.html)。

在java中读取/写入列使用BigDecimal类。它有舍入的方法

public BigDecimal round(MathContext mc)

答案 1 :(得分:0)

RE 1:你应该在java中使用java.math.BigDecimal

RE 2:你应该在mysql中使用DECIMAL(M,D)数据类型,例如123.69727407930787989 DECIMAL(20,17),其中M 1到65位,D是0到30位

RE 3:      (a)如果我想以xxx.xxxxx格式存储,我是否需要对这个数字进行舍入?      (答案)它取决于你的要求你想要什么

(b)如何在java中以这种格式舍入数字?

java.math.BigDecimal bigDecimal = new java.math.BigDecimal("123.69727407930787989",new java.math.MathContext(5));