字符串操作 浮点运算

发表于:2007-05-25来源:作者:点击数: 标签:web开发浮点运算操作
在WEB 开发 中,数据类型中有一半是字符串的操作, Java 本身对CHAR字符支持比较好,字符串就稍微复杂点.关于中文字符串处理可以参考我的另外一篇文章.这里主要讨论字符串的查找 替换等常用操作: 查找字符 /** * 寻找特定字符匹配 * * @param regex java regula

在WEB开发中,数据类型中有一半是字符串的操作,Java本身对CHAR字符支持比较好,字符串就稍微复杂点.关于中文字符串处理可以参考我的另外一篇文章.这里主要讨论字符串的查找 替换等常用操作:

查找字符

/**
* 寻找特定字符匹配
*
* @param regex java regular-expression constructs
* @param s 原始字符串
* @return boolean
*/
public boolean FindSpec(String regex,String s)
{
  Pattern p = Pattern.compile(regex);
  Matcher m = p.matcher(s);
  if (m.find())
    return true;
  else
    return false;
  
}

 

在J2se1.4中,已经包含了类似PERL的强大字符串处理.例如,要检查字符串是否属于"<!--任意字符串-->"形式:

String strs="<!--sdfsdfsfdsfdsfdsfsdfsd-->";
boolean result=Pattern.matches("<!--(.*)-->",strs);
if (result)
out.println("ok");
else
out.println("no");

结果是 ok, 如果strs="<!-sdjfsjkfhkjsdhfjksfd"; 则结果是no

具体文章见:Java的正则表达式应用

字符串替换

/**
* 字符串替换,将 source 中的 oldString 全部换成 newString
*
* @param source 源字符串
* @param oldString 老的字符串
* @param newString 新的字符串
* @return 替换后的字符串
*/
public static String Replace(String source, String oldString, String newString) {
StringBuffer output = new StringBuffer();

int lengthOfSource = source.length(); // 源字符串长度
int lengthOfOld = oldString.length(); // 老字符串长度

int posStart = 0; // 开始搜索位置
int pos; // 搜索到老字符串的位置

while ((pos = source.indexOf(oldString, posStart)) >= 0) {
  output.append(source.substring(posStart, pos));

  output.append(newString);
  posStart = pos + lengthOfOld;
}

if (posStart < lengthOfSource) {
  output.append(source.substring(posStart));
}

return output.toString();
}

在j2se1.4当中,String提供了replaceAll().例如:

String strs="pppppqqqq abcdef sdfsdf";

String result1=strs.replaceAll("abc", "&&");

结果是pppppqqqq &&def sdfsdf


浮点运算
浮点运算一般欠缺是小数点后一位数,经常用到的是两个整数型相除要得到小数点后面好几位数.

使用字符型除整数型 得多个小数位的结果:
float num3=0.0f;
String click="0.023";
int view=8;
String radio=null;
if (view!=0){
  num3=Float.parseFloat(click)/view;
}
radio= new java.text.DecimalFormat("###.###").format(num3);
out.println("小数点后面保留三位:"+radio);

整数型除整数型 ,得多个小数位的结果:
int total=0.023;
int total2=8;
float num3=0.0f;
float total4 = (float)total2;
float total3 = (float)total;
if (total!=0){
  num3=total4/total3;
}
String radio= new java.text.DecimalFormat("###.###").format(num3);
out.println("小数点后面保留三位:"+radio);

DecimalFormat("###.###")可以任意定义位数,如DecimalFormat("###.##") 表示小数点后面保留两位!

原文转自:http://www.ltesting.net

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)