我有一个 long
类型值,代表货币的美分。我尝试将其转换为欧元。因此,我执行了以下操作:
long val = 348;
NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.FRANCE);
System.out.println(nf.format(val/100));
我以为上面的代码会打印出3,48 €
,但我得到了3,00 €
。为什么?
最佳答案
因为 val/100 是整数运算,所以小数部分被去掉。瞬间
int i = 1;
int result = i/2;
将为您提供 0
Change to System.out.println(nf.format(((float)val/100)));
关于java - 使用 NumberFormat 将美分转换为欧元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17422734/