每日一得

          不求多得,只求一得 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?<?0)?return?"";
          ????????
          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 閱讀(930) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 灵璧县| 固原市| 临安市| 临湘市| 都昌县| 金门县| 喜德县| 长葛市| 虹口区| 松原市| 弥勒县| 慈溪市| 浮梁县| 土默特右旗| 门头沟区| 永丰县| 美姑县| 满洲里市| 万载县| 永兴县| 东莞市| 时尚| 南汇区| 芮城县| 论坛| 潞城市| 芷江| 河池市| 梅州市| 平邑县| 武陟县| 五大连池市| 青铜峡市| 廉江市| 泰州市| 泸水县| 塔河县| 凌源市| 德保县| 汉阴县| 团风县|