float subFloat(float f,int lenght)
{
String fStr=String.valueOf(f);
int i=fStr.indexOf('.');
String returnStr=fStr.substring(0,i+1+lenght);
float returnf=(Float.valueOf(returnStr)).floatValue();
return returnf;
}用上面的函数可以搞定,其中lenght是小数点后面的位数。

解决方案 »

  1.   

    你那个要填float的那个数据项是什么类型的,应该是可以设置数字位数,或者小数位数。
      

  2.   

            float subFloat(float f,int lenght)
            {
            float returnf;
                  String fStr=String.valueOf(f);              int i=fStr.indexOf('.');
                  if (i>0 && i< fStr.length() -lenght-1) {
                  String returnStr=fStr.substring(0,i+1+lenght);
                  returnf=(Float.valueOf(returnStr)).floatValue();
                  }
                  else
                  returnf=(Float.valueOf(fStr)).floatValue();
                  return returnf;
            }
      

  3.   

    还有就是你可以在从数据库读出的时候调用那个函数,那样不管数据库里是几位小数,反正在要用的时候可以是任意位数的float。
      

  4.   

    float subFloat(float f,int lenght)
            {
            float returnf;
                  String fStr=String.valueOf(f);              int i=fStr.indexOf('.');
                  if (i>0 ) //只要判断i>=0就可以确定有小数点
                  {
                  String returnStr=fStr.substring(0,i+1+lenght);
                  returnf=(Float.valueOf(returnStr)).floatValue();
                  }
                  else
                  returnf=(Float.valueOf(fStr)).floatValue();
                  return returnf;
            }
      

  5.   

    float subFloat(float f,int lenght)
            {
            float returnf;
                  String fStr=String.valueOf(f);              int i=fStr.indexOf('.');
                  if (i>0 ) //只要判断i>=0就可以确定有小数点
                  {
                  String returnStr=fStr.substring(0,i+1+lenght);//会不会越界?
                  returnf=(Float.valueOf(returnStr)).floatValue();
                  }
                  else
                  returnf=(Float.valueOf(fStr)).floatValue();
                  return returnf;
            }