Java 使用bigdecimal在mysql中存储百分比值

Java 使用bigdecimal在mysql中存储百分比值,java,mysql,bigdecimal,Java,Mysql,Bigdecimal,如何使用BigDecimal在MySQL中存储百分比值 我使用了以下代码来执行此操作: chngePer=new BigDecimal(st.nextToken().trim().replace("%", "")).divide(BigDecimal.valueOf(100)); 但它给了我数字形式的感觉 我正在使用一个CSV文件,并将其每个值存储在stringTokenizer st中。其中一个值类似于-0.45%。如何将其存储在数据库中 StringTokenizer st=new Str

如何使用BigDecimal在MySQL中存储百分比值

我使用了以下代码来执行此操作:

chngePer=new BigDecimal(st.nextToken().trim().replace("%", "")).divide(BigDecimal.valueOf(100));
但它给了我数字形式的感觉

我正在使用一个CSV文件,并将其每个值存储在stringTokenizer st中。其中一个值类似于-0.45%。如何将其存储在数据库中

StringTokenizer st=new StringTokenizer(nextLine, ",");
chngePer=new BigDecimal(st.nextToken().trim().replace("%", "")).divide(BigDecimal.valueOf(100));
编辑:令牌的内容

  • “塔塔咨询公司”
  • 654914
  • 五,
  • +2.2999
  • “+0.19%。”
  • “2012年5月23日”

也许您需要删除引号。

新的BigDecimal(“-0.45%”。替换(“%”,”)。除法(BigDecimal.valueOf(100))
适用于我。@juergen d-我将decimal(6,3)作为列的数据类型。这是造成问题的原因吗?请显示您的令牌的内容。@juergen d-编辑了我的问题以包括令牌。您在哪里得到异常?如果是在插入数据库时,请显示该代码。谢谢,mate,我删除了引号,值现在存储在数据库中(使用+或-符号)。但是现在,在从数据库检索数据时,如何取回+或-符号?实际上,您不需要删除“+”符号。我已经编辑了我的答案。