数字运算:long类型的除法想保留小数:(用于计算折扣)
grouponRule.getGrouponPrice()、skuPrice均为long类型
f1 = ((float) grouponRule.getGrouponPrice() / skuPrice) * 10
需要强制转换为float,
如果想保留指定位数:
new BigDecimal(f1).setScale(1,BigDecimal.ROUND_HALF_UP)
long skuPrice = grouponRule.getSkuPrice().longValue() * 100;
以上代码当grouponRule.getSkuPrice()的数值较小时、skuPrice拿到的数值可能会为0,后续如果当做除数就会有问题:
正确解决办法:long skuPrice = grouponRule.getSkuPrice().multiply(new BigDecimal(100)).longValue();