/**
* 根据传入的float类型判断精度 小数保留两位小数,整数不保留
*
*/
public class TestFloatToInt
{
public static String test(float f){
DecimalFormat df=new DecimalFormat("#0.00");
String str=df.format(f).toString();
if(str.split("\\.")[1].equals("00")){
str=str.split("\\.")[0];
}
return str;
}
public static void main(String[] args)
{
System.out.println(test((float)1223432.99999f));
}
}
import java.text.DecimalFormat;
import java.util.regex.Pattern;
/**
* 根据传入字符串判断小数,float,整数(未对传入字符进行校验,遗留默认传入格式为1233或者123.33 或者12321.11f等)
* @author Cloudy
*
*/
public class TestFloatToInt
{
public static String test(String src){
DecimalFormat df=new DecimalFormat("#0.00");
//如果是小数
if(Pattern.compile("[0-9]*(\\.)[0-9]*").matcher(src).find()){
//判断为float类型
if(Pattern.compile("\\.*[a-zA-Z]+\\.*").matcher(src).find()){
float float_str=Float.valueOf(src);
String str=df.format(float_str).toString();
if(str.split("\\.")[1].equals("00")){
str=str.split("\\.")[0];
}
return str;
}
else{
double d_str=Double.parseDouble(src);
String str_1=df.format(d_str).toString();
if(str_1.split("\\.")[1].equals("00")){
str_1=str_1.split("\\.")[0];
}
return str_1;
}
}
else{
float f_strr=Float.valueOf(src);
String str_3=df.format(f_strr).toString();
if(str_3.split("\\.")[1].equals("00")){
str_3=str_3.split("\\.")[0];
}
return str_3;
}
}
public static void main(String[] args)
{
System.out.println(test("55551.267"));
}
}