문제

로 변환하고 싶 문자열을 포함하는 5 영("00000")로 Int 그래서 그것이 증가될 수 있습니다.때마다 변환할 문자열을 사용하여 정수 변환합니다.ToInt32(),이 값은 0 입니다.을 어떻게 확신할 수 있습니는 정수에서 숙박 고정 길이가면 변환?

할 수 있는 증가하는 값에서"00000"to"00001"그래서 너무 값이 나타납니다 많은 숫자에는 데이터베이스의 대신에 0 또는 1.

려는 경우 아래로 투표,질문에 적어도 당신이 할 수 있는 의견을 남겨주에 왜 당신이 그것을...

도움이 되었습니까?

해결책

정수 정수입니다.아무것도 없습니다.

그래서 int 당신이가는 가는 방법은 없을 추가"어떤 길이"메타데이터 또는 이와 유사한.

나는 당신이 실제로 원하는 어느 시점에서-있을 것이다 string 다시합니다.당신이 원하는 string 을 나타내는 숫자이지만,5 자인 터널을 설정하는 방식이다

를 달성할 수 있는 사용:

string s = i.ToString("00000")

편집

당신은 당신이 원하는 번호를 같이 나타나는 DB.자신에게 물어:

그것은 정말 필요가 있는 DB 에서 또는 그것이 충분한 형식으로 숫자로 당신은 그들을 읽을 데이터베이스에서?

따라서,형식들(위와 같이),중에 쓰는 경우 또는에서 읽습니다.물론,전자의 경우 더 요구할 것이 저장 공간과할 수 없습니다 정말 사용하여 SQL 또는 이와 유사한 연산을 수행하!

다른 팁

정수는 길이가 없으며 순전히 숫자 값입니다.길이를 유지하려면 다른 곳에서는 아무런 정보에 대한 정보를 저장해야합니다.

속성의 길이를 유지하는 객체의 값을 랩핑 할 수 있습니다.예 :

public class FormattedInt {

  private int _value, _length;

  public FormattedInt(string source) {
    _length = source.Length;
    _value = Int32.Parse(source);
  }

  public void Increase() {
    _value++;
  }

  public override string ToString() {
    return _value.ToString(new String('0', _length));
  }

}
.

사용법 :

FormattedInt i = new FormattedInt("0004");
i.Increase();
string s = i.ToString(); // 0005
.

로 olydis 말한다 위 int 는 숫자에 불과하다.그를 지정하지 않습니다. 표시 형식.내가 추천하지 않는 저장하는 그것이 패딩과 제로 데이터베이스에 있다.그 int, 저장로 int.

표시할 목적으로,응용 프로그램에서,보고서,무슨 일이든,그 밖으로 패드 제로.

string s = i.ToString("00000");
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top