JAVA学习网首页 把生活查询网加入收藏 把JAVA学习网设为首页 联系方式
    Hi,JAVA学习
JAVA基础 设计模式 数据库 JavaBeans J2EE JavaDelphi 用户界面 综合文章  
字符串操作 浮点运算
时间:22/04/2007
作者:网络
来源:网络
小提示点这里把文章加入您的收藏夹,方便下次查看
设置文章字体大小:[ ]

在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("###.##") 表示小数点后面保留两位!

上一篇:数组排序1例

下一篇:有关jsp/bean报错信息的处理

  • 调整 Java I/O 性能
  • 谈谈ejb的效率问题
  • FreeMarker设计指南(2)
  • 关于JAVA中连接各类数据库的代码及其补充说明
  • Java语言入门--第九章Java的输入输出操作
  • 金山卓越网成立的商业计划书
  • 滴滴香浓,意犹未尽—畅游Java世界(4)
  • 完美系统的思考【欢迎批评指正及补充】
  • Java学习从入门到精通
  • 用Java简单实现文件分割与合并
  • petstore的设计目标
  • 进化中Hibernate3脚本
  • rmi和corba
  • 《Java与模式》前言
  • 通过处理数据流在网页中显示图像
  • EJB规范
  • java 构造函数的执行过程
  • 老生常谈二-Java从入门到精通
  • 返回】 【顶部】 【关闭
    Copyright © 2005-2010 www.594k.com All Rights Reserved.
    版权所有:JAVA学习网 备案序号:皖ICP备06004238号