Android踩坑:java字符串格式化的一些坑

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010725171/article/details/81776627

float类型的数据保留2位小数

常规写法:

String.format方式:

float a1;
String.format("%.2f",a1);

DecimalFormat方式:

DecimalFormat df = new DecimalFormat("0.00");
return df.format(value);//value为long类型

以上两种方式本猿亲测的结果:

小数点跟随语言的变化,德语葡语西语等环境下会变成逗号,坑爹啊!
这里写图片描述

推荐写法:

Math.round方式

float a;
float a1 = (float)(Math.round(a*100))/100;
//测试代码,语言环境为葡萄牙语
float a = 1234.1234f;
Logger.d("forlan debug String.format ********** " + String.format("%.2f", a));
Logger.d("forlan debug Math.round ========== " + (float)(Math.round(a*100))/100);

结果:

forlan debug String.format ********** 1234,12
forlan debug Math.round ========== 1234.12

总结:

浮点型数据小数位数的处理,建议使用Math.round方法

猜你喜欢

转载自blog.csdn.net/u010725171/article/details/81776627
今日推荐