Java 使用十进制设置数字格式
我试图用下面的代码将一个数字转换成货币,但这并不是我想要的Java 使用十进制设置数字格式,java,formatting,Java,Formatting,我试图用下面的代码将一个数字转换成货币,但这并不是我想要的 NumberFormat formatter = NumberFormat.getCurrencyInstance(); 但它是这样表现的 当我输入六个“3” 我想要的是: 3,333.33 有没有人想到怎么做呢?要控制显示的小数位数,请使用。试试这个解析后的输入字符串 浮点解析=333333 格式化字符串=NumberFormat.getCurrencyInstance().format((已解析/100)) 通过使用此格式解决了
NumberFormat formatter = NumberFormat.getCurrencyInstance();
但它是这样表现的
当我输入六个“3”
我想要的是:
3,333.33
有没有人想到怎么做呢?要控制显示的小数位数,请使用。试试这个解析后的输入字符串 浮点解析=333333
格式化字符串=NumberFormat.getCurrencyInstance().format((已解析/100)) 通过使用此格式解决了此问题
NumberFormat.getCurrencyInstance().format((value*.0100));
感谢所有发表想法的人结果是正确的。给定的输入中不存在十进制值。将其除以100无法解决问题这完全是错误的。当您实际收到3333.33作为输入时如何。是否确实要将其显示为33.33?因为,您的输入有“我猜您是在处理货币问题,这是一种不好的处理方式。解决方法是NumberFormat.getCurrencyInstance().format((value*.0100));请注意,在这两种情况下,点后面的位置数是相同的。这不是问题所在,也不是他们要求的。它仍然没有显示出来。当我放2个数字时,它不会显示,当我放3个数字时,它显示像这样的2.00使用浮点数如果我用333333,那么输出是3333.33,我投票支持你给我一个想法。我用total=“”+NumberFormat.getCurrencyInstance().format((value*.010))解决了这个问题;
NumberFormat.getCurrencyInstance().format((value*.0100));