📄 获得两位有效数字.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 + -