public static int extractNanosecondDecimal(BigDecimal value, long integer) { // !!! 14-Mar-2016, tatu: Somewhat inefficient; should replace with functionally // equivalent code that just subtracts integral part? (or, measure and show // there's no difference and do nothing... ) return value.subtract(new BigDecimal(integer)).multiply(ONE_BILLION).intValue(); } }
public class Payment { BigDecimal itemCost = BigDecimal.ZERO; BigDecimal totalCost = BigDecimal.ZERO; public BigDecimal calculateCost(int itemQuantity, BigDecimal itemPrice) { itemCost = itemPrice.multiply(new BigDecimal(itemQuantity)); totalCost = totalCost.add(itemCost); return totalCost; } }
private PercentType byteToPercentType(int byteValue) { BigDecimal percentValue = new BigDecimal(byteValue).multiply(BigDecimal.valueOf(100)) .divide(BigDecimal.valueOf(255), 2, BigDecimal.ROUND_HALF_UP); return new PercentType(percentValue); }
BigDecimal product=new BigDecimal(1); for(int i=10;i<99;i++){ product=product.multiply(new BigDecimal(i)); } System.out.println(product);
public BigDecimal calculateFeeBtc() { return roundUp(amount.multiply(new BigDecimal(.5))).divide(new BigDecimal(100.)); }
/** * 人民币金额单位转换,元转换成分,例如:1 => 100 */ public static BigDecimal yuan2fen(String y) { return new BigDecimal(Math.round(new BigDecimal(y).multiply(new BigDecimal(100)).doubleValue())); }
@Override public BigDecimal getBigNumber( Object object ) throws KettleValueException { Timestamp timestamp = getTimestamp( object ); if ( timestamp == null ) { return null; } BigDecimal nanos = BigDecimal.valueOf( timestamp.getTime() ).multiply( BigDecimal.valueOf( 1000000000L ) ).add( BigDecimal.valueOf( timestamp.getNanos() ) ); return nanos; }
/** * Compute a throughput rate in MB/s. * @param rows Number of records consumed. * @param timeMs Time taken in milliseconds. * @return String value with label, ie '123.76 MB/s' */ private static String calculateMbps(int rows, long timeMs, final int valueSize, int families, int columns) { BigDecimal rowSize = BigDecimal.valueOf(ROW_LENGTH + ((valueSize + (FAMILY_NAME_BASE.length()+1) + COLUMN_ZERO.length) * columns) * families); BigDecimal mbps = BigDecimal.valueOf(rows).multiply(rowSize, CXT) .divide(BigDecimal.valueOf(timeMs), CXT).multiply(MS_PER_SEC, CXT) .divide(BYTES_PER_MB, CXT); return FMT.format(mbps) + " MB/s"; }
public static BigDecimal round(BigDecimal value, BigDecimal increment, RoundingMode roundingMode) { if (increment.signum() == 0) { // 0 increment does not make much sense, but prevent division by 0 return value; } else { BigDecimal divided = value.divide(increment, 0, roundingMode); BigDecimal result = divided.multiply(increment); return result; } }
cartPromotionItem.setReduceAmount(originalPrice.subtract(skuStock.getPromotionPrice())); cartPromotionItem.setRealStock(skuStock.getStock()-skuStock.getLockStock()); cartPromotionItem.setIntegration(promotionProduct.getGiftPoint()); BigDecimal reduceAmount = originalPrice.subtract(ladder.getDiscount().multiply(originalPrice)); cartPromotionItem.setReduceAmount(reduceAmount); cartPromotionItem.setRealStock(skuStock.getStock()-skuStock.getLockStock()); BigDecimal reduceAmount = originalPrice.divide(totalAmount,RoundingMode.HALF_EVEN).multiply(fullReduction.getReducePrice()); cartPromotionItem.setReduceAmount(reduceAmount); cartPromotionItem.setRealStock(skuStock.getStock()-skuStock.getLockStock());
protected BigDecimal trunc(BigDecimal input, int scale) { BigDecimal output = new BigDecimal(0); BigDecimal pow = BigDecimal.valueOf(Math.pow(10, Math.abs(scale))); if (scale >= 0) { pow = BigDecimal.valueOf(Math.pow(10, scale)); if (scale != 0) { long longValue = input.multiply(pow).longValue(); output = BigDecimal.valueOf(longValue).divide(pow); } else { output = BigDecimal.valueOf(input.longValue()); } } else { long longValue2 = input.divide(pow).longValue(); output = BigDecimal.valueOf(longValue2).multiply(pow); } return output; }
BigDecimal bd = new BigDecimal(0.1).multiply(new BigDecimal(10)); System.out.println(bd.compareTo(BigDecimal.ONE) == 0);
/** * 计算总金额 */ private BigDecimal calcTotalAmount(List<OmsOrderItem> orderItemList) { BigDecimal totalAmount = new BigDecimal("0"); for (OmsOrderItem item : orderItemList) { totalAmount = totalAmount.add(item.getProductPrice().multiply(new BigDecimal(item.getProductQuantity()))); } return totalAmount; }
public static int extractNanosecondDecimal(BigDecimal value, long integer) { // !!! 14-Mar-2016, tatu: Somewhat inefficient; should replace with functionally // equivalent code that just subtracts integral part? (or, measure and show // there's no difference and do nothing... ) return value.subtract(new BigDecimal(integer)).multiply(ONE_BILLION).intValue(); } }