格式化 android Java 中的浮点数
Formatting Floating point numbers in android Java
我想按照以下模式将浮点数格式化为字符串
X.XX
-> 当小数点前只有 1 位时 2 位小数精度
XX.XX
-> 当小数点前有2位则小数点后2位精度
XXX.X
-> 当小数点前有 3 位时,小数点精度为 1 位
XXXX..
-> 当小数点前有4位或更多位时,不显示小数点
如何在 Java 中执行此操作?
使用 Decimal Format 的简单代码可能会有帮助
float f= 24.56f;//Replace with your float number
int i = (int)f;
if(i<100)
System.out.println(new DecimalFormat("#.##").format(f));//This functions will round the last bits also i.e. greater then 4 will increase the number preceding also
else if( i < 1000)
System.out.println(new DecimalFormat("#.#").format(f));
else
System.out.println(new DecimalFormat("#").format(f));
假设你有 float f number
float f;
int a = (int) f;
String res = null;
if (a<100) res = String.format("%.2f");
else if (a<1000) res = String.format("%.1f");
else res = String.valueOf(a);
我想按照以下模式将浮点数格式化为字符串
X.XX
-> 当小数点前只有 1 位时 2 位小数精度
XX.XX
-> 当小数点前有2位则小数点后2位精度
XXX.X
-> 当小数点前有 3 位时,小数点精度为 1 位
XXXX..
-> 当小数点前有4位或更多位时,不显示小数点
如何在 Java 中执行此操作?
使用 Decimal Format 的简单代码可能会有帮助
float f= 24.56f;//Replace with your float number
int i = (int)f;
if(i<100)
System.out.println(new DecimalFormat("#.##").format(f));//This functions will round the last bits also i.e. greater then 4 will increase the number preceding also
else if( i < 1000)
System.out.println(new DecimalFormat("#.#").format(f));
else
System.out.println(new DecimalFormat("#").format(f));
假设你有 float f number
float f;
int a = (int) f;
String res = null;
if (a<100) res = String.format("%.2f");
else if (a<1000) res = String.format("%.1f");
else res = String.valueOf(a);