本文整理汇总了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();
}
}