Ce face pi
dart:math definește constantele matematice des folosite, ca const double: pi (π ≈ 3,14159), e (baza logaritmului natural ≈ 2,71828), sqrt2 (√2), ln10 (logaritmul natural al lui 10). Mai există ln2, log2e, log10e și sqrt1_2 (√½).
Fiind const, le poți folosi în alte constante: const tau = 2 * pi;. Până la Dart 2.0 se scriau cu majuscule (PI, E); acum numele sunt cu litere mici.
Atenție: dacă imporți dart:math fără prefix, numele e este ocupat. O variabilă locală e (de exemplu în catch (e)) ascunde constanta în acel bloc.
Exemple
Exemplul 1: Valorile constantelor
import 'dart:math';
void main() {
print(pi);
print(e);
print(sqrt2);
print(ln10);
print(sqrt2 == sqrt(2));
print(ln10 == log(10));
}
Rezultat
3.141592653589793
2.718281828459045
1.4142135623730951
2.302585092994046
true
true
Exemplul 2: Aria și circumferința unei pizza
import 'dart:math';
void main() {
const diametru = 32.0;
const raza = diametru / 2;
const tau = 2 * pi;
print('Pizza de $diametru cm');
print('Arie: ${(pi * raza * raza).toStringAsFixed(1)} cm²');
print('Circumferință: ${(tau * raza).toStringAsFixed(1)} cm');
}
Rezultat
Pizza de 32.0 cm
Arie: 804.2 cm²
Circumferință: 100.5 cm
Exemplul 3: Import cu prefix, ca să eviți conflictul cu e
Cu as math, constantele se scriu math.e, iar numele e rămâne liber pentru variabile.
import 'dart:math' as math;
void main() {
const e = 'Elena';
print('Bună, $e!');
print('Constanta lui Euler: ${math.e.toStringAsFixed(5)}');
print('pi cu 2 zecimale: ${math.pi.toStringAsFixed(2)}');
}
Rezultat
Bună, Elena!
Constanta lui Euler: 2.71828
pi cu 2 zecimale: 3.14
Greșeli frecvente
- Scrii
PIsauMath.PIca în alte limbaje. În Dart 3 numele estepi, cu litere mici, și vine dindart:math. - Folosești
3.14scris de mână. Pierzi precizie;piare toate zecimalele unuidouble.