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);
	    }
	}

  

原文地址:https://www.cnblogs.com/wang-jing/p/4302578.html