每日一得

          不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速開發(fā)
          最近關(guān)心的內(nèi)容:SSH,seam,flex,敏捷,TDD
          本站的官方站點是:顛覆軟件

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            220 隨筆 :: 9 文章 :: 421 評論 :: 0 Trackbacks
          key words: 切割字符串 切割中文字符 DecimalFormat 格式化字符 科學計數(shù)法

          一.切割字符串的前幾個字符
          在首頁,有時候會因為table列表里的某個內(nèi)容比較長而使得頁面撐得很難看,一般做法就是截取前幾個字符
          /**
          ?????*?截取前幾個字符串
          ?????*?
          @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兩個字節(jié))

          二.用DecimalFormat格式化字符
          這次用POI讀取Excel碰到的一個問題,即,如果Excel里的格式不同,比如同樣的20060623,有可能是字符型的格式,也可能是普通數(shù)字型的,而且在數(shù)字型的時候如果比較長會給你返回科學計數(shù)法的格式,如:2.002623E7,而這個不是我希望出現(xiàn)的,所以后來只好碰到這種格式的就自己給轉(zhuǎn)換一下:

          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;
          ????????????????????}
          ????????????????????
          //如果讀取的是科學計數(shù)法的格式,則轉(zhuǎn)換為普通格式
          ????????????????????
          //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
          主站蜘蛛池模板: 五常市| 灵丘县| 喀喇| 同心县| 南木林县| 边坝县| 乳山市| 林西县| 汕尾市| 吉木乃县| 四子王旗| 南雄市| 贵定县| 宝兴县| 平乡县| 嘉鱼县| 资阳市| 彝良县| 监利县| 武鸣县| 兴义市| 安岳县| 富蕴县| 涟源市| 乌兰浩特市| 临海市| 漳平市| 偏关县| 三原县| 济南市| 德钦县| 民县| 波密县| 会同县| 鲜城| 柳州市| 罗甸县| 漠河县| 襄城县| 衡阳市| 元阳县|