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

	    }

	}

  

你可能感兴趣的:(java)