Библиотека 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~99
[0,1) дробное число:0.08331912429354282
Случайное булево значение:falseCode language: JavaScript (javascript)

Библиотека dart:math

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *