2015-01-23 2 views
0

데이터베이스에서 얻은 값을 CSV에 저장해야합니다. 0을 저장하려고하면 csv에서 0.0으로 저장됩니다. 클라이언트가 데이터베이스에 저장 될 정확한 값을 원하기는하지만 중요하지 않습니다.Java에서 그대로 값 인쇄

double c = Double.valueOf("0"); 

나는 CSV가 0.0입니다. 또 하나의 제약은 정확한 값을 얻기 위해 String 연산을 사용해서는 안된다는 것입니다.
정확한 값을 얻을 수있는 방법이 있습니까? 당신은 여기에 두 번을 사용하는

+1

''int로 전 = Integer.valueOf ("0")''를 그대로 저장할 경우? – ThreeFx

+0

아니요 이것은 유일한 값이 아닙니다. 15.3과 같은 다른 이중 값을 가지므로 영향을받습니다. –

+0

정수 또는 이중과 같이 데이터베이스에 저장하는 값의 유형은 무엇입니까? double을 사용하면 동일한 값에 대해 소수점을 더합니다. Integer로 변환하거나이 값에 대한 데이터 유형을 변경할 수 있습니다. 아직도 문제가 발생하면 알려주세요. – Ranjitsinh

답변

2

간단히 말해서 : d % 1 == 0을 사용해 일부 이중 d가 전체인지 확인할 수 있습니다.

예 당신이 다른 Integer.valueOf(number)

그것이

+0

이것은 가장 간단한 해결책처럼 보입니다. – sauv0168

+0

@ sauv0168 예 – eLemEnt

0

난 당신이 긴, 더블 나는 정확한 값을 얻을 수있는 방법이 있나요 0.0 자연의 행동

1

로 저장됩니다 사용하는 것 같아요?

double이 포함되지 않음. 10 진수 (예 : 1/3)와 같이 부동 소수점에서 정밀도를 잃지 않고 표현할 수없는 숫자가 있습니다 (이유는 0.1+0.2 is 0.30000000000000004). 그 말은 BigDecinalstripTrailingZeros()입니다.