1) 숫자형 Numbers
Dart에서 숫자를 표현하는 데이터 타입은 2가지가 있으며, int와 double 모두 num 타입의 서브타입이다.
1. int 정수형
- Integer는 소수점(decimal point)이 없는 숫자를 가리키며, 아래와 같이 표현한다.
- 최대 크기는 플랫폼에 따라 다르지만, 64비트를 넘을 수 없다.
var x = 1;
var hex = 0xDEADBEEF;
var exponent = 8e5;
2. double 실수형
- IEEE 754표준에 따르면, double형은 64비트의 부동소수점 (floating-point numbers) 숫자를 가리킨다.
var y = 1.1;
var exponents = 1.42e5;
*변수를 int, double이 아닌 'num'으로도 선언할 수 있으며, integer와 double value를 모두 담을 수 있다.
num x = 1; // x에는 int와 double 값을 모두 담을 수 있다.
x += 2.5;
- 정수형 리터럴은 필요하다면 double로 자동으로 변환된다. 1.0이나, 1이나 둘 다 double에 넣을 수 있다는 말이다.
double z = 1; // double z = 1.0 과 같다
3. 숫자를 문자열로 변환, 문자를 숫자열로 변환 turn a string into a number, or vice versa.
// String -> int
var one = int.parse('1');
// String -> double
var onePointOne = double.parse('1.1');
// int -> String
String oneAsString = 1.toString();
// double -> String
String piAsString = 3.14159.toStringAsFixed(2);
- String을 int로 바꿀 때는 int.parse('String문자열');
- String을 double로 바꿀 때는 double.parse('String문자열');
- int를 String으로 바꿀 때는 정수.toString();
- double을 String으로 바꿀 때는 실수.toStringAsFixed(2)
** toStringAsFixed()는 소수점의 개수를 고정시킨다.
예시의 경우 2라고 적혀있으니, 3.14 까지만 반한된다.
잘 이해했는지 테스트해볼까?
1.toStringAsFixed(3);
(4321.12345678).toStringAsFixed(3);
(4321.12345678).toStringAsFixed(5);
123456789012345.toStringAsFixed(3);
10000000000000000.toStringAsFixed(4);
5.25.toStringAsFixed(0);
위의 코드를 출력하면 어떤 결과가 나올까?
정답은 이와 같다.
1.toStringAsFixed(3); // 1.000
(4321.12345678).toStringAsFixed(3); // 4321.123
(4321.12345678).toStringAsFixed(5); // 4321.12346
123456789012345.toStringAsFixed(3); // 123456789012345.000
10000000000000000.toStringAsFixed(4); // 10000000000000000.0000
5.25.toStringAsFixed(0); // 5
2) 문자형 Strings
- Dart에서 String은 작은따옴표 (''),큰 따옴표 ("") 모두를 사용해서 만들 수 있다.
var s1 = 'Single quotes work well for string literals.';
var s2 = "Double quotes work just as well.";
var s3 = 'It\'s easy to escape the string delimiter.';
var s4 = "It's even easier to use the other delimiter.";
- 또한, ${ } 표현을 사용해서 문자열의 중간에 값을 넣을 수 있다.
넣으려고 하는 것이 구분자라면, { } 를 생략하고 $만 쓸 수 있다.
var s = '문자열 보간';
assert('Dart는 $s 기능이 있습니다.' == 'Dart는 문자열 보간 기능이 있습니다.');
var s = 'string interpolation'; //문자열 보간
assert('That deserves all caps. '
'${s.toUpperCase()} is very handy!' ==
'That deserves all caps. '
'STRING INTERPOLATION is very handy!');
- 문자열 끼리 결합하려면 +연산자 를 사용하거나, (자바와 동일)
var s2 = '+연산자를 쓰면 ' + '문장이 합쳐져요.';
assert(s2 == '+연산자를 쓰면 문장이 합쳐져요.');
- 문자열을 여러 줄로 출력하기 위해서는 작음따옴표 3번 ('''), 또는 큰따옴표 3번 (""")을 사용한다. multi-line
void main() {
String s1 = '''
multi-line
문자열을
만들어봐요.
''';
print(s1);
String s2 = """
여러 줄의 String을
'또는 "를 3번 써서
합쳐봐요.
""";
print(s2);
}
>> 결과물
multi-line
문자열을
만들어봐요. //결과 1
여러 줄의 String을
'또는 "를 3번 써서
합쳐봐요. //결과 2
- 문자열 앞에 r 을 붙여, raw String을 만들 수 있는데, 문자열에 특수문자(이스케이프 문자)를 쓰지 않고도
직관적으로 원하는 문자열을 보는 그대로의 문자열로 만들 수 있다.
var s = r'raw string에서는, \n 도 그대로 출력된다.';
'DART' 카테고리의 다른 글
[Dart] Dart의 함수 - Functions in Dart (0) | 2022.05.03 |
---|---|
[DART] Dart의 기본 데이터 타입(2) (Booleans, Lists, Maps) Built-in Types in Dart (1) | 2022.04.28 |
[DART] 상수와 final / const 키워드에 대하여 - Final and const (0) | 2022.04.11 |
[DART] Dart의 변수와 초기화 - Variables in Dart (0) | 2022.04.08 |
[DART] Dart의 중요 개념 - 항상 숙지할 것! - Important Concepts of Dart (0) | 2022.04.07 |
댓글