我的类型为123.69727407930787989,我需要使用java将其存储在mysql数据库中。
应在mysql中使用的数据类型。
如果我想以xxx.xxxxx格式存储,是否需要对此数字进行舍入。如何在java中以这种格式舍入数字
答案 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));