waysun一路陽光

          不輕易服輸,不輕言放棄.--心是夢的舞臺,心有多大,舞臺有多大。踏踏實實做事,認認真真做人。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            167 隨筆 :: 1 文章 :: 64 評論 :: 0 Trackbacks
          public String getFourToFive(double score_type)
           {
            double bl=(Math.round(score_type/.01)*.01);
            String st=String.valueOf(bl);
            /**注意,這里用.作為分隔符是失效的,不知道為什么,所以采用替換的辦法*/
            st=st.replace(".", "_");
            String []st_arr=st.split("_");
            String temp="";
            if(st_arr[1].length()>2)
            {
             temp=st_arr[1].substring(0, 2);
            }
            else
            if(st_arr[1].length()<2)
            {
             temp=st_arr[1]+"0";
            }
            else
            {
             temp=st_arr[1];
            }
            return st_arr[0]+"."+temp;
           }
          posted on 2009-04-15 09:26 weesun一米陽光 閱讀(5610) 評論(3)  編輯  收藏 所屬分類: JAVA源碼常用工具類

          評論

          # re: JAVA四舍五入(小數點后保留兩位數字)[自己總結] 2009-04-16 11:06 重慶理工小子
          寫了一個通用的,希望對你有用!

          public class test {
          /**
          * @param str
          * 處理參數
          * @param num
          * 保留小數位數
          * @return 返回值
          */
          public static String RoundOf(String str, int num) {
          if (str.indexOf(".") > -1) {
          String str1 = str.substring(str.indexOf(".") + 1, str.indexOf(".")
          + 1 + str.length() - (str.indexOf(".") + 1));
          int i = 0;
          if (num < 0)
          num = 0; // 如果指定要保留的小數位小于零,則初始化為零
          if (str1.length() > num) {
          if (Integer.valueOf(str1.substring(num, num + 1)) > 4) {
          int val = 0;
          val = Integer.valueOf(str1.substring(0, num + 1))
          + (10 - Integer.valueOf(str1
          .substring(num, num + 1)));
          if (String.valueOf(val).length() > (num + 1)) {
          i = 1;
          str1 = String.valueOf(val).substring(1, num + 1);
          } else {
          str1 = String.valueOf(val).substring(0, num);
          }
          } else {
          str1 = str1.substring(0, num);
          }
          if (str.indexOf(".") > 0) {
          String str2 = str.substring(0, str.indexOf("."));
          if (num > 0) {
          str = String.valueOf(Integer.valueOf(str2) + i) + "."
          + str1;
          } else {
          str = String.valueOf(Integer.valueOf(str2) + i);
          }
          } else {
          if (num > 0) {
          str = String.valueOf(i) + "." + str1;
          } else {
          str = String.valueOf(i);
          }
          }
          } else if (str1.length() < num) {
          for (int n = 0; n < (num - str1.length()); n++) {
          str = str + "0";
          }
          }
          }
          return str;
          }
          public static void main(String[] args) {
          test test=new test();
          System.out.println(test.RoundOf(String.valueOf(3.15965), 2));
          }
          }  回復  更多評論
            

          # re: JAVA四舍五入(小數點后保留兩位數字)[自己總結] 2009-04-16 11:17 重慶理工小子
          我這里沒有用.作為分隔符,而是使用了indexof方法分別取.前后的值。  回復  更多評論
            

          # re: JAVA四舍五入(小數點后保留兩位數字)[自己總結][未登錄] 2011-10-22 13:40 bigfish
          /**注意,這里用.作為分隔符是失效的,不知道為什么,所以采用替換的辦法*/
          st=st.replace(".", "_");
          String []st_arr=st.split("_");

          此處不用這么麻煩,
          直接
          st=st.replace("\\.");即可  回復  更多評論
            

          主站蜘蛛池模板: 磴口县| 宜都市| 白玉县| 扬中市| 辰溪县| 安多县| 莱芜市| 策勒县| 和平县| 扬中市| 卫辉市| 墨竹工卡县| 广州市| 桐乡市| 宝清县| 民县| 成武县| 东阿县| 芜湖市| 高安市| 龙海市| 集贤县| 五家渠市| 五原县| 阜新| 咸宁市| 友谊县| 江津市| 万年县| 麻阳| 施秉县| 新野县| 亚东县| 文登市| 四平市| 瑞金市| 永仁县| 于田县| 秦安县| 蒙阴县| 蓬安县|