int 및 double은 모두 num 타입의 하위 클래스입니다. num 타입에는 기본적인 산술 연산자(+, -, /, *, % 등) 대한 메서드와 기본적인 수치 연산 함수, 비트 연산 함수 등이 정의되어 있습니다. num 타입에서 찾을 수 없는 수치 연산 기능은 dart:math 라이브러리에서 제공됩니다.
아래 코드는 정수 및 실수 리터럴을 정의하는 방법입니다.
// 정수 리터럴을 정의하는 방법입니다.var x =1; // 10진수 표현식var hex =0xDEADBEEF; // 16진수 표현식var exponent =8e5; // 정수 지수 표현식// 실수 리터럴을 정의하는 방법입니다.var y =1.1; // 실수 표현식var exponents =1.42e5; // 실수 지수 표현식
num 타입을 이용하면 int와 double을 모두 할당할 수 있는 변수를 선언할 수 있습니다. 정수 리터럴을 double 타입 변수에 할당하면 자동으로 타입 변환이 이루어집니다.
voidmain() {// x는 int와 double 모두를 할당할 수 있습니다.num x =1; x +=2.5;// 1은 자동으로 1.0으로 변환됩니다.double z =1;}