Java从字符串中提取整数、浮点型数值

Java从字符串中提取整数、浮点型数值

                                      

 

 

public   class  Main  {

 
public static void main(String[] args)
 
{
  String str 
= "abc345def";
  
int i = getIntValue(str);
  System.out.println(str
+"->"+i);
  
  String str2 
= "abc345.678.91def";
  
double d = getDoubleValue(str2);
  System.out.println(str2
+"->"+d);
 }

 
 
/**
  * 解析str,获得其中的整数
  * 
@param str
  * 
@return
  
*/

 
private static int getIntValue(String str)
 
{
  
int r = 0;
  
if(str!=null && str.length()!=0)
  
{
   StringBuffer bf 
= new StringBuffer();
   
   
char[] chars = str.toCharArray();
   
for(int i=0;i<chars.length;i++)
   
{
    
char c = chars[i];   
    
if(c>='0' && c<='9')
    
{
     bf.append(c);
    }

    
else if(c==',')
    
{
     
continue;
    }

    
else
    
{
     
if(bf.length()!=0)
     
{
      
break;
     }

    }

   }

   
try
   
{
    r 
= Integer.parseInt(bf.toString());
   }

   
catch(Exception e)
   
{}
  }

  
return r;
 }

 
 
/**
  * 解析字符串获得双精度型数值,
  * 
@param str
  * 
@return
  
*/

 
private static double getDoubleValue(String str)
 
{
  
double d = 0;  
  
  
if(str!=null && str.length()!=0)
  
{
   StringBuffer bf 
= new StringBuffer();
   
   
char[] chars = str.toCharArray();
   
for(int i=0;i<chars.length;i++)
   
{
    
char c = chars[i];   
    
if(c>='0' && c<='9'
    
{
     bf.append(c);
    }

    
else if(c=='.')
    
{
     
if(bf.length()==0)
     
{
      
continue;
     }

     
else if(bf.indexOf(".")!=-1)
     
{
      
break;
     }

     
else
     
{
      bf.append(c);
     }

    }
    
    
else
    
{
     
if(bf.length()!=0)
     
{
      
break;
     }

    }

   }

   
try
   
{
    d 
= Double.parseDouble(bf.toString());
   }

   
catch(Exception e)
   
{}
  }

  
  
return d;
 }
 
}


输出:
abc345def->345
abc345.678.91def->345.678

 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值