每日一得

不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速开发
最近关心的内容:SSH,seam,flex,敏捷,TDD
本站的官方站点是:颠覆软件

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  220 随笔 :: 9 文章 :: 421 评论 :: 0 Trackbacks
key words: 切割字符串 切割中文字符 DecimalFormat 格式化字符 科学计数法

一.切割字符串的前几个字符
在首页,有时候会因为table列表里的某个内容比较长而使得页面撑得很难看,一般做法就是截取前几个字符
/**
     * 截取前几个字符串
     * 
@param src  被截取的字符
     * 
@param num  截取的长度
     * 
@param append 附加的字符
     * 
@return String
     
*/
    
public static String splitStr(String src, int num, String append) {
        
if (null == src || num < 0return "";
        
if (src.length() < num) return src;
        
char[] rtnChar = src.toCharArray();
        StringBuffer sb 
= new StringBuffer();
        
for (int i = 0; i < num; i++) {
            sb.append(rtnChar[i]);
        }
        sb.append(append);
        
return sb.toString();
    }

toCharArray会把一个汉字当作一个char(java中一个char两个字节)

二.用DecimalFormat格式化字符
这次用POI读取Excel碰到的一个问题,即,如果Excel里的格式不同,比如同样的20060623,有可能是字符型的格式,也可能是普通数字型的,而且在数字型的时候如果比较长会给你返回科学计数法的格式,如:2.002623E7,而这个不是我希望出现的,所以后来只好碰到这种格式的就自己给转换一下:

if (null != row.getCell((short) i)) {
                    
switch (row.getCell((short) i).getCellType()) {
                        
case HSSFCell.CELL_TYPE_FORMULA :
                            strExcelLine[i] 
= "FORMULA ";
                            
break;
                        
case HSSFCell.CELL_TYPE_NUMERIC :
                            strExcelLine[i] 
= String.valueOf(row.getCell((short) i).getNumericCellValue());
                            
break;
                        
case HSSFCell.CELL_TYPE_STRING :
                            strExcelLine[i] 
= row.getCell((short) i).getStringCellValue();
                            
break;
                        
case HSSFCell.CELL_TYPE_BLANK :
                            strExcelLine[i] 
= "";
                            
break;
                        
default :
                            strExcelLine[i] 
= "";
                            
break;
                    }
                    
//如果读取的是科学计数法的格式,则转换为普通格式
                    
//added by Alex at 20060626
                    if(null != strExcelLine[i] &&
                            strExcelLine[i].indexOf(
"."!= -1 &&
                            strExcelLine[i].indexOf(
"E"!= -1){
                        DecimalFormat df 
= new DecimalFormat();
                        strExcelLine[i] 
= df.parse(strExcelLine[i]).toString();
                    }
                }



posted on 2006-07-03 18:31 Alex 阅读(929) 评论(0)  编辑  收藏 所属分类: java

只有注册用户登录后才能发表评论。


网站导航: