java细节问题
保留两位小数:1.234, 1.23, 1.2, 1.0, 1。
package test; import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public class test { public static float test(float f){ String str=String.valueOf(f); float result = 0f; if(str.indexOf('.') != -1){ //有点 //System.out.println("有点"); if(str.indexOf('.')+3 > str.length()){ //一位小数 //System.out.println("一位"); //System.out.println("小数部分:"+str.substring(str.indexOf('.')+1, str.length())); if(str.substring(str.indexOf('.')+1, str.length()).equals("0")){ //System.out.println("小数部分是0"); str = str.substring(0, str.indexOf('.')); }else{ //System.out.println(str); } }else if(str.indexOf('.')+4 > str.length()){ //一位小数 //System.out.println("两位"); //System.out.println(str); }else{ //多位小数 //System.out.println("多位"); //System.out.println(str.substring(0, str.indexOf('.')+3)); str = str.substring(0, str.indexOf('.')+3); } }else{ //没点 //System.out.println("没点"); //System.out.println(str); } result = Float.parseFloat(str); return result; } public static void main(String[] args) { float f = 32.123f; float t = test(f); System.out.println(t); } }