使用BigDecimal对逗号格式的数字进行处理(解析+转换)
使用BigDecimal对逗号格式的数字进行处理(解析+转换)| Id | Title | DateAdded | SourceUrl | PostType | Body | BlogId | Description | DateUpdated | IsMarkdown | EntryName | CreatedTime | IsActive | AutoDesc | AccessPermission |
| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------|
| 17800651| 使用BigDecimal对逗号格式的数字进行处理(解析+转换)| 2023-10-31T16:45:00| | BlogPost|
应用场景: 对逗号格式的两位小数点数字进行解析和转换。
public void calculateTest(){
BigDecimal number1 = transfer2BigDecimal("1,111,111,111.11");
BigDecimal number2 = transfer2BigDecimal("1,111,111,111.11");
BigDecimal sumNumber = number1.add(number2);
System.out.println(sumNumber); //2222222222.22
</span><span style="color: #008000;">//</span><span style="color: #008000;">转换为逗号格式的数字</span>
DecimalFormat df = <span style="color: #0000ff;">new</span> DecimalFormat("#,###.00"<span style="color: #000000;">);
String strSumNumber </span>=<span style="color: #000000;"> df.format(sumNumber);
System.out.println(strSumNumber); </span><span style="color: #008000;">//</span><span style="color: #008000;">2,222,222,222.22</span>
}
</span><span style="color: #008000;">//</span><span style="color: #008000;">解析逗号格式的数字</span>
<span style="color: #0000ff;">private</span><span style="color: #000000;"> BigDecimal transfer2BigDecimal(String str) {
DecimalFormat format </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> DecimalFormat();
</span><span style="color: #0000ff;">try</span><span style="color: #000000;"> {
Number number </span>=<span style="color: #000000;"> format.parse(str);
DecimalFormat dfFormat </span>= <span style="color: #0000ff;">new</span> DecimalFormat("#.##"<span style="color: #000000;">);
String strNumber</span>=<span style="color: #000000;"> dfFormat.format(number);
BigDecimal resultNumber </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> BigDecimal(strNumber);
</span><span style="color: #0000ff;">return</span><span style="color: #000000;"> resultNumber;
} </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (ParseException e) {
</span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">;
}
}</span></pre>
BigDecimal 去除小数位
String value = ""; double numValue = Double.valueOf(value); //保留6位小数,并四舍五入 BigDecimal decimal = new BigDecimal(String.valueOf(value)).setScale(6, BigDecimal.ROUND_HALF_UP);//去除小数点后最后的0
value = decimal.stripTrailingZeros().toPlainString();
System.out.println(cellValue);
| 648658| | 2023-10-31T17:19:00| false| | 2023-10-31T16:45:25.83| true| 应用场景: 对逗号格式的两位小数点数字进行解析和转换。 public void calculateTest(){ BigDecimal number1 = transfer2BigDecimal("1,111,111,111.11"); BigDecimal number2 = transfer2B| Anonymous|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现