我需要将十进制分隔符点放在Long中,我已经尝试了几种方法,但是由于十进制分隔符可以更改,因此我需要将其动态化,我尝试过这样做,DecimalFormat format = new DecimalFormat("###.##");
但这不是动态的,因此无法正常工作我想要
例子1
long amount = 123456;
int decimal = 2;
结果应该是 Double newAmount = 1234.56
例子2
long amount = 123456;
int decimal = 4;
结果应该是 Double newAmount = 12.3456
如果我理解正确,这就是您要实现的目标:
Long amount = 123456;
int decimal = 2;
double newAmount = amount.doubleValue();
newAmount = newAmount / Math.pow(10, decimal);
使用java.lang.math的pow方法计算数字的幂。
如果要使用其功能之一,请小心地将变量声明为Long类型的对象,而不是原始类型。
如建议的那样,从一开始就只使用double变量而不是很简单:
double amount = 123456;
int decimal = 2;
amount = amount / Math.pow(10, decimal);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句