Java怎么把数字转成货币格式?NumberFormat一行搞定

Java怎么把数字转成货币格式?NumberFormat一行搞定

做支付、报表、电商后台时,经常要把数字转成带币种符号的字符串。"1234567.89"得显示为"¥1,234,567.89"或"$1,234,567.89"。看着简单,细节不少。

最直接的方式是 NumberFormat.getCurrencyInstance(),它根据系统默认Locale自动匹配币种。环境设zh_CN就输出¥,设en_US就输出$。一行搞定:String s = NumberFormat.getCurrencyInstance().format(1234567.89);

Java货币格式化_DecimalFormat自定义货币格式_java怎么把数字转为货币格式

币种不对时用 setCurrency(Currency.getInstance("CNY")) 手动指定。CNY是人民币,USD是美元,EUR是欧元。注意Currency实例要用getInstance获取,别自己new,内部有缓存机制。

需要更���细控制就用 DecimalFormatjava怎么把数字转为货币格式,自定义模式字符串。new DecimalFormat("#,##0.00")输出千分位加两位小数Java怎么把数字转成货币格式?NumberFormat一行搞定,想带币种符号写成"¥#,##0.00"。不依赖Locale,格式完全自己定,适合展示要求严格的场景。

一个容易踩的坑:NumberFormat和DecimalFormat不是线程安全的,多线程别共享实例,每次new一个或用ThreadLocal包起来。前端拿格式化字符串再解析回数字时,记得先去掉币种符号,否则parseFloat直接报错。

作者头像
admin创始人

tp钱包官网下载

上一篇:数字货币铺开了,真正拿到手里的都是谁,普通人分得到吗
下一篇:我花了三个月翻完四十多份调查报告,这些数字货币骗局套路全在这

相关推荐