< prev index next >
src/java.base/share/classes/java/math/RoundingMode.java
Print this page
@@ -49,37 +49,37 @@
* {@code roundingMode} set to the rounding mode in question), and
* calling {@link BigDecimal#round round} on this number with the
* proper {@code MathContext}. A summary table showing the results
* of these rounding operations for all rounding modes appears below.
*
- *<table class="plain">
+ *<table class="striped">
* <caption><b>Summary of Rounding Operations Under Different Rounding Modes</b></caption>
* <thead>
- * <tr><th></th><th colspan=8>Result of rounding input to one digit with the given
+ * <tr><th scope="col" rowspan="2">Input Number</th><th scope="col"colspan=8>Result of rounding input to one digit with the given
* rounding mode</th>
* <tr style="vertical-align:top">
- * <th>Input Number</th> <th>{@code UP}</th>
+ * <th>{@code UP}</th>
* <th>{@code DOWN}</th>
* <th>{@code CEILING}</th>
* <th>{@code FLOOR}</th>
* <th>{@code HALF_UP}</th>
* <th>{@code HALF_DOWN}</th>
* <th>{@code HALF_EVEN}</th>
* <th>{@code UNNECESSARY}</th>
* </thead>
- * <tbody>
+ * <tbody style="text-align:right">
*
- * <tr style="text-align:right"><td>5.5</td> <td>6</td> <td>5</td> <td>6</td> <td>5</td> <td>6</td> <td>5</td> <td>6</td> <td>throw {@code ArithmeticException}</td>
- * <tr style="text-align:right"><td>2.5</td> <td>3</td> <td>2</td> <td>3</td> <td>2</td> <td>3</td> <td>2</td> <td>2</td> <td>throw {@code ArithmeticException}</td>
- * <tr style="text-align:right"><td>1.6</td> <td>2</td> <td>1</td> <td>2</td> <td>1</td> <td>2</td> <td>2</td> <td>2</td> <td>throw {@code ArithmeticException}</td>
- * <tr style="text-align:right"><td>1.1</td> <td>2</td> <td>1</td> <td>2</td> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>throw {@code ArithmeticException}</td>
- * <tr style="text-align:right"><td>1.0</td> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>1</td>
- * <tr style="text-align:right"><td>-1.0</td> <td>-1</td> <td>-1</td> <td>-1</td> <td>-1</td> <td>-1</td> <td>-1</td> <td>-1</td> <td>-1</td>
- * <tr style="text-align:right"><td>-1.1</td> <td>-2</td> <td>-1</td> <td>-1</td> <td>-2</td> <td>-1</td> <td>-1</td> <td>-1</td> <td>throw {@code ArithmeticException}</td>
- * <tr style="text-align:right"><td>-1.6</td> <td>-2</td> <td>-1</td> <td>-1</td> <td>-2</td> <td>-2</td> <td>-2</td> <td>-2</td> <td>throw {@code ArithmeticException}</td>
- * <tr style="text-align:right"><td>-2.5</td> <td>-3</td> <td>-2</td> <td>-2</td> <td>-3</td> <td>-3</td> <td>-2</td> <td>-2</td> <td>throw {@code ArithmeticException}</td>
- * <tr style="text-align:right"><td>-5.5</td> <td>-6</td> <td>-5</td> <td>-5</td> <td>-6</td> <td>-6</td> <td>-5</td> <td>-6</td> <td>throw {@code ArithmeticException}</td>
+ * <tr><th scope="row">5.5</th> <td>6</td> <td>5</td> <td>6</td> <td>5</td> <td>6</td> <td>5</td> <td>6</td> <td>throw {@code ArithmeticException}</td>
+ * <tr><th scope="row">2.5</th> <td>3</td> <td>2</td> <td>3</td> <td>2</td> <td>3</td> <td>2</td> <td>2</td> <td>throw {@code ArithmeticException}</td>
+ * <tr><th scope="row">1.6</th> <td>2</td> <td>1</td> <td>2</td> <td>1</td> <td>2</td> <td>2</td> <td>2</td> <td>throw {@code ArithmeticException}</td>
+ * <tr><th scope="row">1.1</th> <td>2</td> <td>1</td> <td>2</td> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>throw {@code ArithmeticException}</td>
+ * <tr><th scope="row">1.0</th> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>1</td>
+ * <tr><th scope="row">-1.0</th> <td>-1</td> <td>-1</td> <td>-1</td> <td>-1</td> <td>-1</td> <td>-1</td> <td>-1</td> <td>-1</td>
+ * <tr><th scope="row">-1.1</th> <td>-2</td> <td>-1</td> <td>-1</td> <td>-2</td> <td>-1</td> <td>-1</td> <td>-1</td> <td>throw {@code ArithmeticException}</td>
+ * <tr><th scope="row">-1.6</th> <td>-2</td> <td>-1</td> <td>-1</td> <td>-2</td> <td>-2</td> <td>-2</td> <td>-2</td> <td>throw {@code ArithmeticException}</td>
+ * <tr><th scope="row">-2.5</th> <td>-3</td> <td>-2</td> <td>-2</td> <td>-3</td> <td>-3</td> <td>-2</td> <td>-2</td> <td>throw {@code ArithmeticException}</td>
+ * <tr><th scope="row">-5.5</th> <td>-6</td> <td>-5</td> <td>-5</td> <td>-6</td> <td>-6</td> <td>-5</td> <td>-6</td> <td>throw {@code ArithmeticException}</td>
* </tbody>
* </table>
*
*
* <p>This {@code enum} is intended to replace the integer-based
@@ -102,27 +102,27 @@
* digit prior to a non-zero discarded fraction. Note that this
* rounding mode never decreases the magnitude of the calculated
* value.
*
*<p>Example:
- *<table class="plain">
- * <caption><b>Rounding mode UP Examples</b></caption>
+ *<table class="striped">
+ * <caption>Rounding mode UP Examples</caption>
*<thead>
- *<tr style="vertical-align:top"><th>Input Number</th>
- * <th>Input rounded to one digit<br> with {@code UP} rounding
+ *<tr style="vertical-align:top"><th scope="col">Input Number</th>
+ * <th scope="col">Input rounded to one digit<br> with {@code UP} rounding
*</thead>
- *<tbody>
- *<tr style="text-align:right"><td>5.5</td> <td>6</td>
- *<tr style="text-align:right"><td>2.5</td> <td>3</td>
- *<tr style="text-align:right"><td>1.6</td> <td>2</td>
- *<tr style="text-align:right"><td>1.1</td> <td>2</td>
- *<tr style="text-align:right"><td>1.0</td> <td>1</td>
- *<tr style="text-align:right"><td>-1.0</td> <td>-1</td>
- *<tr style="text-align:right"><td>-1.1</td> <td>-2</td>
- *<tr style="text-align:right"><td>-1.6</td> <td>-2</td>
- *<tr style="text-align:right"><td>-2.5</td> <td>-3</td>
- *<tr style="text-align:right"><td>-5.5</td> <td>-6</td>
+ *<tbody style="text-align:right">
+ *<tr><th scope="row">5.5</th> <td>6</td>
+ *<tr><th scope="row">2.5</th> <td>3</td>
+ *<tr><th scope="row">1.6</th> <td>2</td>
+ *<tr><th scope="row">1.1</th> <td>2</td>
+ *<tr><th scope="row">1.0</th> <td>1</td>
+ *<tr><th scope="row">-1.0</th> <td>-1</td>
+ *<tr><th scope="row">-1.1</th> <td>-2</td>
+ *<tr><th scope="row">-1.6</th> <td>-2</td>
+ *<tr><th scope="row">-2.5</th> <td>-3</td>
+ *<tr><th scope="row">-5.5</th> <td>-6</td>
*</tbody>
*</table>
*/
UP(BigDecimal.ROUND_UP),
@@ -130,27 +130,27 @@
* Rounding mode to round towards zero. Never increments the digit
* prior to a discarded fraction (i.e., truncates). Note that this
* rounding mode never increases the magnitude of the calculated value.
*
*<p>Example:
- *<table class="plain">
- * <caption><b>Rounding mode DOWN Examples</b></caption>
+ *<table class="striped">
+ * <caption>Rounding mode DOWN Examples</caption>
*<thead>
- *<tr style="vertical-align:top"><th>Input Number</th>
- * <th>Input rounded to one digit<br> with {@code DOWN} rounding
+ *<tr style="vertical-align:top"><th scope="col">Input Number</th>
+ * <th scope="col">Input rounded to one digit<br> with {@code DOWN} rounding
*</thead>
- *<tbody>
- *<tr style="text-align:right"><td>5.5</td> <td>5</td>
- *<tr style="text-align:right"><td>2.5</td> <td>2</td>
- *<tr style="text-align:right"><td>1.6</td> <td>1</td>
- *<tr style="text-align:right"><td>1.1</td> <td>1</td>
- *<tr style="text-align:right"><td>1.0</td> <td>1</td>
- *<tr style="text-align:right"><td>-1.0</td> <td>-1</td>
- *<tr style="text-align:right"><td>-1.1</td> <td>-1</td>
- *<tr style="text-align:right"><td>-1.6</td> <td>-1</td>
- *<tr style="text-align:right"><td>-2.5</td> <td>-2</td>
- *<tr style="text-align:right"><td>-5.5</td> <td>-5</td>
+ *<tbody style="text-align:right">
+ *<tr><th scope="row">5.5</th> <td>5</td>
+ *<tr><th scope="row">2.5</th> <td>2</td>
+ *<tr><th scope="row">1.6</th> <td>1</td>
+ *<tr><th scope="row">1.1</th> <td>1</td>
+ *<tr><th scope="row">1.0</th> <td>1</td>
+ *<tr><th scope="row">-1.0</th> <td>-1</td>
+ *<tr><th scope="row">-1.1</th> <td>-1</td>
+ *<tr><th scope="row">-1.6</th> <td>-1</td>
+ *<tr><th scope="row">-2.5</th> <td>-2</td>
+ *<tr><th scope="row">-5.5</th> <td>-5</td>
*</tbody>
*</table>
*/
DOWN(BigDecimal.ROUND_DOWN),
@@ -159,27 +159,27 @@
* result is positive, behaves as for {@code RoundingMode.UP};
* if negative, behaves as for {@code RoundingMode.DOWN}. Note
* that this rounding mode never decreases the calculated value.
*
*<p>Example:
- *<table class="plain">
- * <caption><b>Rounding mode CEILING Examples</b></caption>
+ *<table class="striped">
+ * <caption>Rounding mode CEILING Examples</caption>
*<thead>
*<tr style="vertical-align:top"><th>Input Number</th>
* <th>Input rounded to one digit<br> with {@code CEILING} rounding
*</thead>
- *<tbody>
- *<tr style="text-align:right"><td>5.5</td> <td>6</td>
- *<tr style="text-align:right"><td>2.5</td> <td>3</td>
- *<tr style="text-align:right"><td>1.6</td> <td>2</td>
- *<tr style="text-align:right"><td>1.1</td> <td>2</td>
- *<tr style="text-align:right"><td>1.0</td> <td>1</td>
- *<tr style="text-align:right"><td>-1.0</td> <td>-1</td>
- *<tr style="text-align:right"><td>-1.1</td> <td>-1</td>
- *<tr style="text-align:right"><td>-1.6</td> <td>-1</td>
- *<tr style="text-align:right"><td>-2.5</td> <td>-2</td>
- *<tr style="text-align:right"><td>-5.5</td> <td>-5</td>
+ *<tbody style="text-align:right">
+ *<tr><th scope="row">5.5</th> <td>6</td>
+ *<tr><th scope="row">2.5</th> <td>3</td>
+ *<tr><th scope="row">1.6</th> <td>2</td>
+ *<tr><th scope="row">1.1</th> <td>2</td>
+ *<tr><th scope="row">1.0</th> <td>1</td>
+ *<tr><th scope="row">-1.0</th> <td>-1</td>
+ *<tr><th scope="row">-1.1</th> <td>-1</td>
+ *<tr><th scope="row">-1.6</th> <td>-1</td>
+ *<tr><th scope="row">-2.5</th> <td>-2</td>
+ *<tr><th scope="row">-5.5</th> <td>-5</td>
*</tbody>
*</table>
*/
CEILING(BigDecimal.ROUND_CEILING),
@@ -188,27 +188,27 @@
* result is positive, behave as for {@code RoundingMode.DOWN};
* if negative, behave as for {@code RoundingMode.UP}. Note that
* this rounding mode never increases the calculated value.
*
*<p>Example:
- *<table class="plain">
- * <caption><b>Rounding mode FLOOR Examples</b></caption>
+ *<table class="striped">
+ * <caption>Rounding mode FLOOR Examples</caption>
*<thead>
- *<tr style="vertical-align:top"><th>Input Number</th>
- * <th>Input rounded to one digit<br> with {@code FLOOR} rounding
+ *<tr style="vertical-align:top"><th scope="col">Input Number</th>
+ * <th scope="col">Input rounded to one digit<br> with {@code FLOOR} rounding
*</thead>
- *<tbody>
- *<tr style="text-align:right"><td>5.5</td> <td>5</td>
- *<tr style="text-align:right"><td>2.5</td> <td>2</td>
- *<tr style="text-align:right"><td>1.6</td> <td>1</td>
- *<tr style="text-align:right"><td>1.1</td> <td>1</td>
- *<tr style="text-align:right"><td>1.0</td> <td>1</td>
- *<tr style="text-align:right"><td>-1.0</td> <td>-1</td>
- *<tr style="text-align:right"><td>-1.1</td> <td>-2</td>
- *<tr style="text-align:right"><td>-1.6</td> <td>-2</td>
- *<tr style="text-align:right"><td>-2.5</td> <td>-3</td>
- *<tr style="text-align:right"><td>-5.5</td> <td>-6</td>
+ *<tbody style="text-align:right">
+ *<tr><th scope="row">5.5</th> <td>5</td>
+ *<tr><th scope="row">2.5</th> <td>2</td>
+ *<tr><th scope="row">1.6</th> <td>1</td>
+ *<tr><th scope="row">1.1</th> <td>1</td>
+ *<tr><th scope="row">1.0</th> <td>1</td>
+ *<tr><th scope="row">-1.0</th> <td>-1</td>
+ *<tr><th scope="row">-1.1</th> <td>-2</td>
+ *<tr><th scope="row">-1.6</th> <td>-2</td>
+ *<tr><th scope="row">-2.5</th> <td>-3</td>
+ *<tr><th scope="row">-5.5</th> <td>-6</td>
*</tbody>
*</table>
*/
FLOOR(BigDecimal.ROUND_FLOOR),
@@ -219,27 +219,27 @@
* fraction is ≥ 0.5; otherwise, behaves as for
* {@code RoundingMode.DOWN}. Note that this is the rounding
* mode commonly taught at school.
*
*<p>Example:
- *<table class="plain">
- * <caption><b>Rounding mode HALF_UP Examples</b></caption>
+ *<table class="striped">
+ * <caption>Rounding mode HALF_UP Examples</caption>
*<thead>
- *<tr style="vertical-align:top"><th>Input Number</th>
- * <th>Input rounded to one digit<br> with {@code HALF_UP} rounding
+ *<tr style="vertical-align:top"><th scope="col">Input Number</th>
+ * <th scope="col">Input rounded to one digit<br> with {@code HALF_UP} rounding
*</thead>
- *<tbody>
- *<tr style="text-align:right"><td>5.5</td> <td>6</td>
- *<tr style="text-align:right"><td>2.5</td> <td>3</td>
- *<tr style="text-align:right"><td>1.6</td> <td>2</td>
- *<tr style="text-align:right"><td>1.1</td> <td>1</td>
- *<tr style="text-align:right"><td>1.0</td> <td>1</td>
- *<tr style="text-align:right"><td>-1.0</td> <td>-1</td>
- *<tr style="text-align:right"><td>-1.1</td> <td>-1</td>
- *<tr style="text-align:right"><td>-1.6</td> <td>-2</td>
- *<tr style="text-align:right"><td>-2.5</td> <td>-3</td>
- *<tr style="text-align:right"><td>-5.5</td> <td>-6</td>
+ *<tbody style="text-align:right">
+ *<tr><th scope="row">5.5</th> <td>6</td>
+ *<tr><th scope="row">2.5</th> <td>3</td>
+ *<tr><th scope="row">1.6</th> <td>2</td>
+ *<tr><th scope="row">1.1</th> <td>1</td>
+ *<tr><th scope="row">1.0</th> <td>1</td>
+ *<tr><th scope="row">-1.0</th> <td>-1</td>
+ *<tr><th scope="row">-1.1</th> <td>-1</td>
+ *<tr><th scope="row">-1.6</th> <td>-2</td>
+ *<tr><th scope="row">-2.5</th> <td>-3</td>
+ *<tr><th scope="row">-5.5</th> <td>-6</td>
*</tbody>
*</table>
*/
HALF_UP(BigDecimal.ROUND_HALF_UP),
@@ -249,27 +249,27 @@
* down. Behaves as for {@code RoundingMode.UP} if the discarded
* fraction is > 0.5; otherwise, behaves as for
* {@code RoundingMode.DOWN}.
*
*<p>Example:
- *<table class="plain">
- * <caption><b>Rounding mode HALF_DOWN Examples</b></caption>
+ *<table class="striped">
+ * <caption>Rounding mode HALF_DOWN Examples</caption>
*<thead>
- *<tr style="vertical-align:top"><th>Input Number</th>
- * <th>Input rounded to one digit<br> with {@code HALF_DOWN} rounding
+ *<tr style="vertical-align:top"><th scope="col">Input Number</th>
+ * <th scope="col">Input rounded to one digit<br> with {@code HALF_DOWN} rounding
*</thead>
- *<tbody>
- *<tr style="text-align:right"><td>5.5</td> <td>5</td>
- *<tr style="text-align:right"><td>2.5</td> <td>2</td>
- *<tr style="text-align:right"><td>1.6</td> <td>2</td>
- *<tr style="text-align:right"><td>1.1</td> <td>1</td>
- *<tr style="text-align:right"><td>1.0</td> <td>1</td>
- *<tr style="text-align:right"><td>-1.0</td> <td>-1</td>
- *<tr style="text-align:right"><td>-1.1</td> <td>-1</td>
- *<tr style="text-align:right"><td>-1.6</td> <td>-2</td>
- *<tr style="text-align:right"><td>-2.5</td> <td>-2</td>
- *<tr style="text-align:right"><td>-5.5</td> <td>-5</td>
+ *<tbody style="text-align:right">
+ *<tr><th scope="row">5.5</th> <td>5</td>
+ *<tr><th scope="row">2.5</th> <td>2</td>
+ *<tr><th scope="row">1.6</th> <td>2</td>
+ *<tr><th scope="row">1.1</th> <td>1</td>
+ *<tr><th scope="row">1.0</th> <td>1</td>
+ *<tr><th scope="row">-1.0</th> <td>-1</td>
+ *<tr><th scope="row">-1.1</th> <td>-1</td>
+ *<tr><th scope="row">-1.6</th> <td>-2</td>
+ *<tr><th scope="row">-2.5</th> <td>-2</td>
+ *<tr><th scope="row">-5.5</th> <td>-5</td>
*</tbody>
*</table>
*/
HALF_DOWN(BigDecimal.ROUND_HALF_DOWN),
@@ -286,27 +286,27 @@
* chiefly used in the USA. This rounding mode is analogous to
* the rounding policy used for {@code float} and {@code double}
* arithmetic in Java.
*
*<p>Example:
- *<table class="plain">
- * <caption><b>Rounding mode HALF_EVEN Examples</b></caption>
+ *<table class="striped">
+ * <caption>Rounding mode HALF_EVEN Examples</caption>
*<thead>
- *<tr style="vertical-align:top"><th>Input Number</th>
- * <th>Input rounded to one digit<br> with {@code HALF_EVEN} rounding
+ *<tr style="vertical-align:top"><th scope="col">Input Number</th>
+ * <th scope="col">Input rounded to one digit<br> with {@code HALF_EVEN} rounding
*</thead>
- *<tbody>
- *<tr style="text-align:right"><td>5.5</td> <td>6</td>
- *<tr style="text-align:right"><td>2.5</td> <td>2</td>
- *<tr style="text-align:right"><td>1.6</td> <td>2</td>
- *<tr style="text-align:right"><td>1.1</td> <td>1</td>
- *<tr style="text-align:right"><td>1.0</td> <td>1</td>
- *<tr style="text-align:right"><td>-1.0</td> <td>-1</td>
- *<tr style="text-align:right"><td>-1.1</td> <td>-1</td>
- *<tr style="text-align:right"><td>-1.6</td> <td>-2</td>
- *<tr style="text-align:right"><td>-2.5</td> <td>-2</td>
- *<tr style="text-align:right"><td>-5.5</td> <td>-6</td>
+ *<tbody style="text-align:right">
+ *<tr><th scope="row">5.5</th> <td>6</td>
+ *<tr><th scope="row">2.5</th> <td>2</td>
+ *<tr><th scope="row">1.6</th> <td>2</td>
+ *<tr><th scope="row">1.1</th> <td>1</td>
+ *<tr><th scope="row">1.0</th> <td>1</td>
+ *<tr><th scope="row">-1.0</th> <td>-1</td>
+ *<tr><th scope="row">-1.1</th> <td>-1</td>
+ *<tr><th scope="row">-1.6</th> <td>-2</td>
+ *<tr><th scope="row">-2.5</th> <td>-2</td>
+ *<tr><th scope="row">-5.5</th> <td>-6</td>
*</tbody>
*</table>
*/
HALF_EVEN(BigDecimal.ROUND_HALF_EVEN),
@@ -314,27 +314,27 @@
* Rounding mode to assert that the requested operation has an exact
* result, hence no rounding is necessary. If this rounding mode is
* specified on an operation that yields an inexact result, an
* {@code ArithmeticException} is thrown.
*<p>Example:
- *<table class="plain">
- * <caption><b>Rounding mode UNNECESSARY Examples</b></caption>
+ *<table class="striped">
+ * <caption>Rounding mode UNNECESSARY Examples</caption>
*<thead>
- *<tr style="vertical-align:top"><th>Input Number</th>
- * <th>Input rounded to one digit<br> with {@code UNNECESSARY} rounding
+ *<tr style="vertical-align:top"><th scope="col">Input Number</th>
+ * <th scope="col">Input rounded to one digit<br> with {@code UNNECESSARY} rounding
*</thead>
- *<tbody>
- *<tr style="text-align:right"><td>5.5</td> <td>throw {@code ArithmeticException}</td>
- *<tr style="text-align:right"><td>2.5</td> <td>throw {@code ArithmeticException}</td>
- *<tr style="text-align:right"><td>1.6</td> <td>throw {@code ArithmeticException}</td>
- *<tr style="text-align:right"><td>1.1</td> <td>throw {@code ArithmeticException}</td>
- *<tr style="text-align:right"><td>1.0</td> <td>1</td>
- *<tr style="text-align:right"><td>-1.0</td> <td>-1</td>
- *<tr style="text-align:right"><td>-1.1</td> <td>throw {@code ArithmeticException}</td>
- *<tr style="text-align:right"><td>-1.6</td> <td>throw {@code ArithmeticException}</td>
- *<tr style="text-align:right"><td>-2.5</td> <td>throw {@code ArithmeticException}</td>
- *<tr style="text-align:right"><td>-5.5</td> <td>throw {@code ArithmeticException}</td>
+ *<tbody style="text-align:right">
+ *<tr><th scope="row">5.5</th> <td>throw {@code ArithmeticException}</td>
+ *<tr><th scope="row">2.5</th> <td>throw {@code ArithmeticException}</td>
+ *<tr><th scope="row">1.6</th> <td>throw {@code ArithmeticException}</td>
+ *<tr><th scope="row">1.1</th> <td>throw {@code ArithmeticException}</td>
+ *<tr><th scope="row">1.0</th> <td>1</td>
+ *<tr><th scope="row">-1.0</th> <td>-1</td>
+ *<tr><th scope="row">-1.1</th> <td>throw {@code ArithmeticException}</td>
+ *<tr><th scope="row">-1.6</th> <td>throw {@code ArithmeticException}</td>
+ *<tr><th scope="row">-2.5</th> <td>throw {@code ArithmeticException}</td>
+ *<tr><th scope="row">-5.5</th> <td>throw {@code ArithmeticException}</td>
*</tbody>
*</table>
*/
UNNECESSARY(BigDecimal.ROUND_UNNECESSARY);
< prev index next >