未分類 1 9 月 2020 Java 里有什么可以把一个 BigDecimal 转成这样的格式 Java 里有什么可以把一个 BigDecimal 转成这样的格式 資深大佬 : rqxiao 18 交易金额,单位为分,左补 0 至补齐 12 位,例如 000000000001 表示 1 分,000000000100 表示 1 元。 大佬有話說 (9) 資深大佬 : selca 转成 String 想怎么搞怎么搞 資深大佬 : k9990009 自己处理,返回的是 json 的话,重写 BigDecimal 的序列化方法就是了 資深大佬 : passerbytiny 不管原数据是啥类型,补零(或者任何格式化)后就变成 String 类型了,所以格式化自觉交给 String 体系去处理,BigDecimal 及任何数字类型都不用理会。 資深大佬 : crystom java 程序员也想要 leftpad [doge] 資深大佬 : chendy “`java DecimalFormat format = new DecimalFormat(“000000000000”); BigDecimal bigDecimal = new BigDecimal(100L); System.out.println(format.format(bigDecimal)); // 000000000100“` 資深大佬 : airmour new DecimalFormat(“000000000000”) 資深大佬 : qwerthhusn System.out.println(org.apache.commons.lang3.StringUtils.leftPad(“123”, 12, ‘0’)); 資深大佬 : aguesuka 5 是最优的。最简单的应该是 String.format(“%10f”, new BigDecimal(“100”)) 資深大佬 : aguesuka 打错应该是这个 String.format(“%010.0f”, new BigDecimal(100))