⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 获得两位有效数字.txt

📁 获取浮点型和双精度型数据两位有效数字
💻 TXT
字号:
public String GetTwoValue(float data)
	{//获得两位有效数字
		Float dataVal=new Float(data);
		String strFloat=dataVal.toString();
		int i=strFloat.length();
		String strdata="";
		String strL="0";
     if(data>0.000000001 && data<0.001)
		{   
			  int p=Integer.parseInt(strFloat.substring(i-1));
			    strdata="0.";
				if ((int)strFloat.charAt(3)>52 && (int)strFloat.charAt(3)!=69) {
					String two=strFloat.substring(0, 1)+strFloat.substring(2, 3);
					int a =Integer.parseInt(two)+1;
					if (a==100) {
						a=1;
						for (int j = 0; j <p-2; j++) 
						  strdata+=strL;
						strdata+=String.valueOf(a);
					}else{
						for (int j = 0; j <p-1; j++) 
							strdata+=strL;
						strdata+=String.valueOf(a);
					} 
				}else{
					for (int j = 0; j <p-1; j++) 
						strdata+=strL;
					 strdata+=strFloat.substring(0, 1)+strFloat.substring(2, 3);
				}	
		}
		if (data>=0.001 && data<1) {
				int k=0;
				for(int j=0;j<i;j++){
					if((int)strFloat.charAt(j)>48)
					break;
					k=j;	
			    }
				    int m=10;
					for(int j=0;j<k;j++)
						m*=10;
						data=(float)Math.round(data*m)/m; 
						DecimalFormat b = new DecimalFormat("0.0###");
						strdata=b.format(data);
		}
	if(data>=1 && data<10000000){
			int n = 0;
			for(int j=0;j<i;j++){
				if((int)strFloat.charAt(j)==46)
					break;
					n=j;
			}
			if(n==0){
				if(i==3){
				data=Float.parseFloat(strFloat);
				DecimalFormat b = new DecimalFormat("#.#");
				strdata=b.format(data);
         		//strdata=strFloat;
				}
				if(i>3){
					float data1=Float.parseFloat(strFloat.substring(0, 4));
					BigDecimal b1=new BigDecimal(Float.toString(data1));
					BigDecimal b2=new BigDecimal(Float.toString(0.05f));
					float b2b=b1.add(b2).floatValue();
					if (b2b>=10) {
						strdata="10";
					} else 
					strdata=String.valueOf(b2b).substring(0, 3);	
			}
			}
			if(n==1){
				float data2=Float.parseFloat(strFloat.substring(0, 4));
				BigDecimal b1=new BigDecimal(Float.toString(data2));
				BigDecimal b2=new BigDecimal(Float.toString(0.5f));
				float b2b=b1.add(b2).floatValue();
				if (b2b>=100) {
					strdata="100";
				} else 
				strdata=String.valueOf(b2b).substring(0, 2);
		   }
			if(n>1){
			    	float data3=Float.parseFloat(strFloat.substring(0, 3));
			    	BigDecimal b1=new BigDecimal(Float.toString(data3));
					BigDecimal b2=new BigDecimal(Float.toString(5f));
					float b2b=b1.add(b2).floatValue();
					if (b2b>=1000) {
						strdata="100";
					} else 
					strdata=String.valueOf(b2b).substring(0, 2);
					for(int j=0;j<n-1;j++)
						strdata+=strL;
			}
	}
	 if(data>=10000000 && data<10000000000.0){
			   int p=Integer.parseInt(strFloat.substring(i-1));
				if ((int)strFloat.charAt(3)>52 && (int)strFloat.charAt(3)!=69) {
					String two=strFloat.substring(0, 1)+strFloat.substring(2, 3);
					int a =Integer.parseInt(two)+1;
					if (a==100) {
						 a=1000;
						 strdata=String.valueOf(a);
						for (int j = 0; j <p-2; j++) 
							strdata+=strL;
					}else{
						 strdata=String.valueOf(a);
						for (int j = 0; j <p-1; j++) 
							strdata+=strL;
					} 
				}else{
					strdata=strFloat.substring(0, 1)+strFloat.substring(2, 3);
					for (int j = 0; j <p-1; j++) 
						strdata+=strL;
				}
		    }
	       return strdata;
	}
	
public String GetTwoValue(double data)
	{//获得两位有效数字
		float fdata=(float)data;
        return GetTwoValue(fdata);
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -