Requisiti: Spesso usati per arrotondare e poco sensibili ai requisiti di precisione.
Per arrotondare due decimali, lo sviluppatore ha scritto il seguente codice,
Il codice è molto semplice, sviluppatoriIl risultato effettivo è stato 12,12, contraddicendo il risultato di arrotondamento atteso di 12,13。
Il motivo di questo risultato è che Math.Round non utilizza di default la regola di arrotondamento, ma invece fa giri per rendere pari.
Arrotondi fino a cinque per formare una coppia
La cosiddetta arrotondamento da sei a cinque per formare una coppia significa che, dopo aver determinato le cifre significative, se la cifra significativa successiva è minore o uguale a 4, viene arrotondata verso il basso; se è maggiore o uguale a 6, arrotonda verso l'alto di uno. Quando la cifra significativa successiva è 5,
- Se il numero precedente a 5 è dispari, arrotondi cinque verso l'alto e avanza di uno
- Se 5 è prima di un numero pari, saltare 5 (0 è pari).
Statisticamente, arrotondare a pari è più accurato che arrotondare cinque, perché quando ci sono molti calcoli, arrotondare ogni cinque a uno può portare a un numero maggiore.
Per esempio:
1.15+1.25+1.35+1.45 = 5.2
Se le cifre significative sono una decimale, il risultato si ottiene usando il principio di arrotondamento
1.2 + 1.3 + 1.4 + 1.5 = 5.4
Il risultato ottenuto arrotondando a cinque pari è
1.2 + 1.2 + 1.4 + 1.4 = 5.2
Questo dimostra che la regola di arrotondamento produce risultati più precisi.
Math.Round
Quindi, come si usa Math.Round per ottenere l'arrotondamento atteso?
In effetti, Math.Round in C# fornisce molti metodi di sovraccarico, inclusi due metodi:
Entrambi i metodi forniscono un terzo parametro chiamato mode, che è una variabile di enumerazione del MidpointRounding con due valori selezionabili
- AwayFromZero - arrotondamento verso l'alto
- A pari - arrotondamento a arrotondamento pari
Quindi, se vogliamo un risultato idealmente arrotondato, possiamo usare il seguente codice:
Innumerazione a metà puntoArrotondamento, come mostrato di seguito:
Riferimento:Il login del link ipertestuale è visibile. |