Java:
Avrunding av tall
Hvordan:
Java tilbyr flere måter å runde av tall på. Her er en rask demo med Math.round()
, BigDecimal
, og DecimalFormat
.
public class RoundingDemo {
public static void main(String[] args) {
double num = 123.4567;
// Bruker Math.round()
long roundedNum = Math.round(num);
System.out.println(roundedNum); // Utdata: 123
// Bruker BigDecimal for mer kontroll
BigDecimal bd = new BigDecimal(num).setScale(2, RoundingMode.HALF_UP);
double roundedBigDecimal = bd.doubleValue();
System.out.println(roundedBigDecimal); // Utdata: 123.46
// Bruker DecimalFormat
DecimalFormat df = new DecimalFormat("#.##");
String formattedNum = df.format(num);
System.out.println(formattedNum); // Utdata: 123.46
}
}
Dypdykk
Historisk har det å runde av tall vært essensielt for analoge beregninger og har blitt overført til digital databehandling for effektivitet og nøyaktighet. Avrundingsfeil, som de fra flytpunkt-aritmetikk, demonstrerer at dette ikke er et trivielt problem – de kan akkumulativt ødelegge beregninger i for eksempel luftfart og finansielle applikasjoner.
Utover Math.round()
, har du BigDecimal
, som gir deg finere kontroll over skalaen og avrundingsmodusen, og DecimalFormat
for når du trenger å runde av tall som en del av formatering av tekstutdata. Alternativer til avrunding inkluderer å avrunde ned, avrunde opp og trunkere, som er forskjellige måter å håndtere presisjon på og vanligvis behandles av ulike Math
-metoder.
Avhengig av bruksområdet ditt, kan avrundingsstrategien variere. For eksempel er BigDecimal
veien å gå for finansielle beregninger, hvor presisjon er kritisk. I kontrast er Math.round()
en rask måte for generelle operasjoner hvor du er mindre kresen på avrundingsmodus.