ppgjx 发表于 2022-5-18 21:07

java金额转换请教

Integer total = 1000
这个total是金额 按分来的 1000就是10元 如何转成 10.00 这样的字符串呢? 我这边是用来做支付的 支付宝金额需要这样传,如果手动给他加个.分割好像不太好

Baiii 发表于 2022-5-18 21:13

找个工具类就行咯

ppgjx 发表于 2022-5-18 21:22

解决了
DecimalFormat df = new DecimalFormat("0.00");
String format = df.format(1000/100);

unmask 发表于 2022-5-18 21:25

BigDecimal可以解君愁
BigDecimal decimal = new BigDecimal(2.2);
System.out.println(decimal.setScale(2,BigDecimal.ROUND_HALF_UP));// 2.20
decimal = new BigDecimal(2.456);
System.out.println(decimal.setScale(2,BigDecimal.ROUND_HALF_UP));// 2.46

简单メ传说 发表于 2022-5-18 21:28

金融计算用 BigDecimal
金融计算用 BigDecimal
金融计算用 BigDecimal
重要的事情说三遍

顺便给你个 demo
    public static void main(String[] args) throws InterruptedException {
      BigDecimal total = new BigDecimal("1000");
      System.out.println(total.divide(new BigDecimal(100), 2, RoundingMode.HALF_UP).toPlainString());
    }

chinavy 发表于 2022-5-18 21:53

大佬就是大佬

孤狼微博 发表于 2022-5-18 22:28

BigDecimal这个其实很多坑,现在除了银行啥的基本都是用文本了,那个本质也是个文本

chaojiak47 发表于 2022-5-19 09:02

简单メ传说 发表于 2022-5-18 21:28
金融计算用 BigDecimal
金融计算用 BigDecimal
金融计算用 BigDecimal


yao yao check now ,煎饼果子 来一套

xoxoixo 发表于 2022-5-19 15:52

可以引用第三方来处理joda-money   

xiongjian918 发表于 2022-5-20 00:04

孤狼微博 发表于 2022-5-18 22:28
BigDecimal这个其实很多坑,现在除了银行啥的基本都是用文本了,那个本质也是个文本

用文本怎么计算
页: [1] 2
查看完整版本: java金额转换请教