Dart cuenta con varias bibliotecas integradas que podemos usar para desarrollar distintas funcionalidades, como la biblioteca dedicada a operaciones matemáticas.
import 'dart:math';Lenguaje del código: JavaScript (javascript)
Constantes habituales
print(pi); // 3.141592653589793 número pi
print(e); // 2.718281828459045 número de Euler
print(sqrt2); // √2 ≈1.4142Lenguaje del código: PHP (php)
Funciones trigonométricas
sin() cos() tan() Argumentos: radianes. Conversión grados ↔ radianes: radianes = grados × pi / 180
void trigDemo() {
assert(cos(pi) == -1.0);
int degrees = 30;
double radians = degrees * pi / 180;
double result = sin(radians);
// No compares números de punto flotante directamente con ==, revisa el valor absoluto de la diferencia
assert((result - 0.5).abs() < 0.01);
}Lenguaje del código: Dart (dart)
Valor máximo / mínimo
assert(max(1, 1000) == 1000);
assert(min(1, -1000) == -1000);
Números aleatorios 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
// Aleatorio seguro para contraseñas y claves criptográficas
final secureRand = Random.secure();
}Lenguaje del código: Dart (dart)
Funciones frecuentes
sqrt(9); // Raíz cuadrada 3.0
pow(2, 3); // Potencia 2^3=8.0
log(e); // Logaritmo natural
atan2(y, x); // Arcotangente, usado para calcular ángulos en sistemas de coordenadasLenguaje del código: Dart (dart)
Ejemplo completo
import 'dart:math';
void main() {
// Constantes
print('pi = $pi');
print('e = $e');
// Funciones trigonométricas
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)}');
// Valores aleatorios
final r = Random();
print('Entero aleatorio 0~9:${r.nextInt(10)}');
print('[0,1) flotante:${r.nextDouble()}');
print('Booleano aleatorio:${r.nextBool()}');
}Lenguaje del código: Dart (dart)
Ejecutar el ejemplo
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
Entero aleatorio 0~9:9
[0,1) flotante:0.08331912429354282
Booleano aleatorio:falseLenguaje del código: JavaScript (javascript)
La biblioteca dart:math
Previous: Class Modifiers Modificadores de clase
Next: Librería dart:convert