데이터 테이블 저장 값 문의 드립니다.

안녕하세요.
현재 랭킹정보를 저장할때 유저들의 데미지 값을 저장하고 있습니다.
데이터 형태는 decimal 이고 상위 랭킹에 유저들은 10경(100,000,000,000,000,000) 이상의 값을 저장하는
상황입니다.
앞으로 데미지가 계속 증가할 것을 대비하여 자료형을 BigInteger 를 사용할 예정인데, BigInteger 값을 저장해도 문제가 없는지, 문제가 있다면 어떤식으로 저장해야 할지, 데이터 저장 값의 최대치가 몇인지 궁금합니다.

  • 프로젝트명 : 킹덤RPG 영웅키우기
  • 뒤끝SDK 버전 : 5.4.5
  • 에러 코드 :

안녕하세요 개발자님

DB에 사용되는 숫자형 및 랭킹에 등록 가능한 Number 값은 다음과 같습니다.

정수 : -9007199254740992 ~ 9007199254740992 (-2^53 ~ 2^53)
실수 : -3.40282347E+38F ~3.40282347E+38F (float.MinValue ~ float.MaxValue)

실수는 최대 3.40282347E+38F까지 삽입이 가능하지만, 실제 숫자로 표시될 수 있는 수는 16자리까지이며 17자리의 수는 반올림이 되고, 그 이하의 수는 E+n의 형태로 표시됩니다.

123456789123456789123456789.0를 삽입할 경우 1.2345678912345679e+26 가 삽입됩니다.
79228162514264337593543950335.0(decimal.maxValue)를 삽입할 경우 7.922816251426434e+28가 삽입됩니다.

해당 수를 계속 사용하는 것은 문제가 발생할 것으로 보이며,
오직 저장 목적이라면 데미지의 값을 숫자가 아닌 string형을 통해 저장 후 클라이언트에서 숫자로 다시 파싱하여 사용,
랭킹에 사용하시려면 해당 수를 실수(float)로 변형하여 랭킹을 등록하시면 될 것 같습니다.(클라이언트에서 보이는 값을 곱하기를 통해 다시 정수로 파싱)

옙 감사합니다.
이건 다른 질문인데요.
지금 랭킹데이터에 비교 데이터가 하나의 값으로 비교하는것으로 이해 했는데,
혹시 비교데이터 1이 동점일 경우 비교데이터 2 이런식으로
두개 이상의 데이터를 저장해서 순차적으로 비교가 가능한가요?

안녕하세요 개발자님,
랭킹 데이터의 비교는 하나의 데이터만을 통해서 가능하도록 제공되고 있습니다.
비교 데이터가 동점인 경우, 순위는 동순위가 되고 별도의 추가 비교는 제공되지 않습니다.

예를들어 A와 B라는 유저가 랭킹 비교 데이터가 동점으로 2위인 경우 함께 공동 2위가 되며 다음 순위 유저는 4위가 됩니다.
감사합니다.