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);
}
}
浙公网安备 33010602011771号