Flutter/Dart - 문자열을 Int로 변환

string 객체를 int 변수로 변환하는 방법을 소개합니다.

1. int.parse()를 이용한 방법

int.parse(string)은 string을 int로 변환합니다.

void main() {

    String str = "12345";

    int n = int.parse(str);
    print(n);
}

Output:

12345

하지만, 만약 문자열이 숫자가 아닐 때(숫자가 아닌 문자가 포함) FormatException이 발생합니다.

String str = "12345a";
int n = int.parse(str);
print(n);

Output:

Unhandled exception:
FormatException: Invalid radix-10 number (at character 1)
12345a

2. FormatException 예외 처리 방법

정수가 아닌 문자열을 int.parse()로 변환하면, FormatException가 발생하며 프로그램이 종료됩니다.

이럴 때는 try - on으로 예외를 처리할 수 있습니다.

아래 예제는 예외가 발생했을 때 변수를 -1을 초기 값으로 설정합니다.

void main() {

    String str = "12345aa";

    int n;
    try {
        n = int.parse(str);
    } on FormatException {
        n = -1;
    }
    print(n);
}

Output:

-1

3. 실수(double) 문자열을 double로 변환

정수가 아닌 문자 뿐만 아니라, 12345.0 처럼 소수점이 있는 실수를 int.parse()로 변환할 때도 FormatException이 발생합니다.

String str = "12345.0";

int n = int.parse(str);
print(n);

이런 문자열은 double.parse()를 이용하여 double로 변환해야 합니다.

void main() {

    String str = "12345.0";

    double n = double.parse(str);
    print(n);
}

Output:

12345.0
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha