방치형 게임에서 재화를 표현할 때, 1,000 = 1a 1,000,000 = 1b 로 표현하는 부분에서 프로퍼티로 구현하나?
개발자 코멘트) 구현은 할 수 있지만 계산은 불가능하다! 함수로 구현하는 것이 바람직하다.
/// <summary>
/// BigInteger를 텍스트로 변환
/// </summary>
/// <param name="value">BigInteger값</param>
/// <param name="digit">몇개의 숫자로 표현할건지</param>
/// <returns></returns>
public static string BIGINT_TO_TEXT(BigInteger value, int digit = 4)
{
int wordIdx = 0;
string subText = value.ToString();
//9999까진 그대로 출력
if (value < 10000)
{
return string.Format("{0}", value);
}
//천단위로 나눔
while (value >= 1000)
{
value /= 1000;
wordIdx += 1;
}
//나눈 결과값
string preText = string.Format("{0}", value);
//digit자리까지 보이기 위해서 digit - preText.Length로 함.
int subStringLength = digit - preText.Length;
return string.Format("{0}.{1}{2}", preText, subText.Substring(preText.Length, subStringLength), BigIntWordArray[wordIdx]);
}