用户提交购买请求:0.0104 BTC,汇率为345.92 EUR
配置:
var mode = RoundingMode.HALF_EVEN();
var satoshi = new BigDecimal("100000000");
用户输入:
var btc_b = new BigDecimal("0.0104");
var rate_b = new BigDecimal("345.92");
将金额转换为最小单位:
var btc_s = btc_b.multiply(satoshi);
btc * rate =花费:
var eur_s = btc_s.multiply(rate_b).setScale(0,mode);
console.log(eur_s.longValue());
output: 359756800
欧元/最小单位:
var eur_b = eur_s.divide(satoshi, 8, mode);
console.log(eur_b.longValue());
output: 3.597568
但由于eur只有2位小数:
console.log(eur_b.setScale(2,mode).longValue());
output: 3.6
我假设用户必须花费3.6欧元购买0.0104比特币,价格为345.92欧元
这是一个小提琴:jsfiddle.net/nvkja98c /
如果我错了,请纠正我!