本文整理匯總了Java中java.math.RoundingMode.UP屬性的典型用法代碼示例。如果您正苦於以下問題:Java RoundingMode.UP屬性的具體用法?Java RoundingMode.UP怎麽用?Java RoundingMode.UP使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類java.math.RoundingMode
的用法示例。
在下文中一共展示了RoundingMode.UP屬性的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: roundPriceToTickSize
/**
* @param price price to be rounded, has to be positive
* @param roundingMode rounding mode that should be used (only {@link RoundingMode#UP} and {@link RoundingMode#DOWN}
* are supported)
* @return price rounded to tick size
*
* @throws IllegalArgumentException if {@code roundingMode} is neither {@link RoundingMode#UP} nor
* {@link RoundingMode#DOWN} or {@code price} is not positive
*/
static BigDecimal roundPriceToTickSize(final BigDecimal price, final RoundingMode roundingMode, final BigDecimal tickSize) {
checkArgument(
roundingMode == RoundingMode.UP || roundingMode == RoundingMode.DOWN,
"Only rounding UP or DOWN supported"
);
checkArgument(price.compareTo(BigDecimal.ZERO) >= 0, "price=%s < 0", price);
final BigDecimal remainder = price.remainder(tickSize);
if (remainder.compareTo(BigDecimal.ZERO) == 0) {
return price;
}
final BigDecimal result = price.subtract(remainder);
if (roundingMode == RoundingMode.UP) {
return result.add(tickSize);
} else {
return result;
}
}