Ce face double.toStringAsPrecision
toStringAsPrecision(n) păstrează primele n cifre semnificative, rotunjind: 3.14159.toStringAsPrecision(3) este '3.14', iar 1234.5.toStringAsPrecision(2) devine '1.2e+3' (notație științifică, pentru că 2 cifre nu ajung pentru partea întreagă).
Diferența față de toStringAsFixed: toStringAsFixed(2) fixează numărul de zecimale, iar toStringAsPrecision(2) fixează numărul total de cifre importante. Este potrivit pentru măsurători științifice, unde precizia contează mai mult decât poziția virgulei. n este între 1 și 21.
Parametri
| Parametru | Descriere |
|---|---|
precision |
Numărul de cifre semnificative (1–21). |
Ce returnează
Un String.
Exemple
Exemplul 1: Precizie față de zecimale fixe
La numere foarte mici diferența se vede clar: cu 2 zecimale fixe din 0.000123456 rămâne 0.00, dar cu 2 cifre semnificative rămâne 0.00012.
void main() {
var pi = 3.14159265;
print(pi.toStringAsPrecision(3));
print(pi.toStringAsFixed(3));
print(1234.5.toStringAsPrecision(2));
print(1234.5.toStringAsPrecision(6));
print(0.000123456.toStringAsPrecision(2));
print(0.000123456.toStringAsFixed(2));
}
Rezultat
3.14
3.142
1.2e+3
1234.50
0.00012
0.00
Exemplul 2: Măsurători de laborator
void main() {
var masuratori = {'lungime (m)': 12.34567, 'masă (kg)': 0.0045678, 'distanța (km)': 384400.0};
masuratori.forEach((ce, valoare) {
print('$ce: ${valoare.toStringAsPrecision(3)}');
});
}
Rezultat
lungime (m): 12.3
masă (kg): 0.00457
distanța (km): 3.84e+5
Greșeli frecvente
- Folosești
toStringAsPrecisionpentru prețuri: poate da notație științifică (1.2e+3). Pentru bani foloseștetoStringAsFixed(2).
Comenzi înrudite
int.toString: toString() transformă numărul în text; toStringAsFixed(n) îl scrie cu exact n zecimale.double: Tipul pentru numere cu zecimale (virgulă mobilă, 64 de biți): prețuri, medii, temperaturi.