2012-05-23 6 views
0

BigDecimal을 사용하여 MySQL에 백분율 값을 저장하는 방법은 무엇입니까? bigdecimal을 사용하여 mysql에 백분율 값을 저장하십시오.

나는 그렇게하려면 다음 코드를 사용 :

chngePer=new BigDecimal(st.nextToken().trim().replace("%", "")).divide(BigDecimal.valueOf(100)); 

을하지만 내게는 NumberFormatException을 제공합니다.

CSV 파일을 사용하고 각 값을 stringTokenizer st에 저장하고 있습니다. 값 중 하나는 -0.45 %와 같습니다. 어떻게 그것을 데이터베이스에 저장합니까?

StringTokenizer st=new StringTokenizer(nextLine, ","); 
chngePer=new BigDecimal(st.nextToken().trim().replace("%", "")).divide(BigDecimal.valueOf(100)); 

편집 : 토큰

  • "타타 컨설팅"의 내용
  • 654914
  • 5
  • 2.2999
  • "+ 0.19 %"
  • "5 2012 년/23/23 "
+0

'new BigDecimal ("- 0.45 %". replace ("%", "")) divide (BigDecimal.valueOf (100))'는 나를 위해 작동합니다. –

+0

@juergen d-i는 열의 데이터 유형으로 10 진수 (6,3)를가집니다. 그게 문제의 원인인가요? – z22

+1

토큰의 내용을 보여주십시오. –

답변

2

아마도 따옴표를 제거해야합니다.

+0

감사 메이트 나는 따옴표를 제거하고 값은 이제 databse에 저장됩니다 (+ 또는 - 부호를 빼내십시오). 하지만 이제 데이터베이스에서 데이터를 다시 가져올 때 어떻게 + 또는 - 기호를 얻었습니까? – z22

+0

실제로 "+"기호는 제거 할 필요가 없습니다. 내 대답을 편집했습니다. – Buhb

+0

아직 작동하지 않는, pls 내 수정 된 quesition을 참조하십시오 – z22

관련 문제