dart:math 라이브러리

Dart에는 내장 라이브러리가 제공되며, 이 라이브러리를 활용해 여러 기능을 구현할 수 있습니다. 수학 연산에 사용하는 라이브러리가 그 예시입니다.

import 'dart:math';Code language: JavaScript (javascript)

자주 사용하는 상수

print(pi);      // 3.141592653589793 원주율
print(e);       // 2.718281828459045 자연상수
print(sqrt2);   // √2 ≈1.4142Code language: PHP (php)

삼각함수

sin() cos() tan() 매개변수: 호도법(라디안). 각도 ↔ 라디안 변환식: 라디안 = 각도 × pi / 180

void trigDemo() {
  assert(cos(pi) == -1.0);

  int degrees = 30;
  double radians = degrees * pi / 180;
  double result = sin(radians);
  // 부동소수점은 직접 ==로 비교하지 말고 차의 절댓값으로 확인하세요
  assert((result - 0.5).abs() < 0.01);
}Code language: Dart (dart)

최댓값 / 최솟값

assert(max(1, 1000) == 1000);
assert(min(1, -1000) == -1000);

난수 Random

void randomDemo() {
  final rand = Random();
  double d = rand.nextDouble();   // [0.0, 1.0)
  int i = rand.nextInt(10);       // 0 ~ 9
  bool b = rand.nextBool();       // true / false

  // 비밀번호, 키 생성에 활용하는 암호학적 안전 난수
  final secureRand = Random.secure();
}Code language: Dart (dart)

자주 쓰이는 함수

sqrt(9);      // 제곱근 3.0
pow(2, 3);    // 거듭제곱 2^3=8.0
log(e);       // 자연로그
atan2(y, x);  // 아크탄젠트, 좌표계 각도 계산에 자주 사용Code language: Dart (dart)

전체 예제

import 'dart:math';

void main() {
  // 상수
  print('pi = $pi');
  print('e = $e');

  // 삼각함수
  final rad30 = 30 * pi / 180;
  print('sin30° = ${sin(rad30)}');

  // max min
  print('max(2,9) = ${max(2,9)}');
  print('min(2,9) = ${min(2,9)}');

  // 난수
  final r = Random();
  print('0~9 난수 정수:${r.nextInt(10)}');
  print('[0,1) 부동소수:${r.nextDouble()}');
  print('무작위 불리언:${r.nextBool()}');
}Code language: Dart (dart)

예제 실행 결과

D:\dartdemo\firstdart>dart run
Building package executable...
Built firstdart:firstdart.
pi = 3.141592653589793
e = 2.718281828459045
sin30° = 0.49999999999999994
max(2,9) = 9
min(2,9) = 2
0~9 난수 정수:9
[0,1) 부동소수:0.08331912429354282
무작위 불리언:falseCode language: JavaScript (javascript)

dart:math 라이브러리

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다