本文整理匯總了Java中java.math.BigDecimal.toBigIntegerExact方法的典型用法代碼示例。如果您正苦於以下問題:Java BigDecimal.toBigIntegerExact方法的具體用法?Java BigDecimal.toBigIntegerExact怎麽用?Java BigDecimal.toBigIntegerExact使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類java.math.BigDecimal
的用法示例。
在下文中一共展示了BigDecimal.toBigIntegerExact方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: unwrap
import java.math.BigDecimal; //導入方法依賴的package包/類
@SuppressWarnings({ "unchecked" })
public <X> X unwrap(BigDecimal value, Class<X> type, WrapperOptions options) {
if ( value == null ) {
return null;
}
if ( BigDecimal.class.isAssignableFrom( type ) ) {
return (X) value;
}
if ( BigInteger.class.isAssignableFrom( type ) ) {
return (X) value.toBigIntegerExact();
}
if ( Byte.class.isAssignableFrom( type ) ) {
return (X) Byte.valueOf( value.byteValue() );
}
if ( Short.class.isAssignableFrom( type ) ) {
return (X) Short.valueOf( value.shortValue() );
}
if ( Integer.class.isAssignableFrom( type ) ) {
return (X) Integer.valueOf( value.intValue() );
}
if ( Long.class.isAssignableFrom( type ) ) {
return (X) Long.valueOf( value.longValue() );
}
if ( Double.class.isAssignableFrom( type ) ) {
return (X) Double.valueOf( value.doubleValue() );
}
if ( Float.class.isAssignableFrom( type ) ) {
return (X) Float.valueOf( value.floatValue() );
}
throw unknownUnwrap( type );
}
示例2: baseToSubunit
import java.math.BigDecimal; //導入方法依賴的package包/類
/**
* Base - taken to mean default unit for a currency e.g. ETH, DOLLARS
* Subunit - taken to mean subdivision of base e.g. WEI, CENTS
*
* @param baseAmountStr - decimal amonut in base unit of a given currency
* @param decimals - decimal places used to convert to subunits
* @return amount in subunits
*/
public static BigInteger baseToSubunit(String baseAmountStr, int decimals) {
assert(decimals >= 0);
BigDecimal baseAmount = new BigDecimal(baseAmountStr);
BigDecimal subunitAmount = baseAmount.multiply(BigDecimal.valueOf(10).pow(decimals));
try {
return subunitAmount.toBigIntegerExact();
} catch (ArithmeticException ex) {
assert(false);
return subunitAmount.toBigInteger();
}
}