<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-71  評論-5  文章-0  trackbacks-0
     
    轉自 : http://wzf7065.iteye.com/blog/1567587



    public class StringTest {
        private static int counter = 0;
        public static void main(String[] args) {
        String str1 = "sd& ^^java***java(((java";
        String str2 = "java";
        int i = countStr(str1, str2);
        System.out.println("i---------->" + i);
        }
        /**
         * 判斷str1中包含str2的個數
          * @param str1
         * @param str2
         * @return counter
         */
        public static int countStr(String str1, String str2) {
            if (str1.indexOf(str2) == -1) {
           return 0;
            } else if (str1.indexOf(str2) != -1) {
           counter++;
           countStr(str1.substring(str1.indexOf(str2) +
                       str2.length()), str2);
                   return counter;
            }
           return 0;
        }
    }
    posted @ 2015-06-23 14:47 藤本薔薇 閱讀(1428) | 評論 (0)編輯 收藏

             select * from  table order by  id   limit    (intPage - 1) * PageRow    , intPage * PageRow




    去重SQL

    select product_code,count(*) as count from h_product_info group by product_code having count>1; 
    select d_date,count(*) as count from h_oddnum group by d_date having count>1 order by d_date desc; 
    delete from h_oddnum where id in (select min(id) from h_oddnum group by d_date having count(d_date) > 1) 
    create table tmp as select min(id) as col1 from blur_article group by title;
    delete from blur_article where id not in (select col1 from tmp); 
    drop table tmp;
    select min(id) from h_oddnum group by d_date having count(d_date) > 1
    create table tmp as select min(id) as col1 from h_oddnum group by d_date having count(d_date) > 1;
    delete from h_oddnum where id not in (select col1 from tmp); 
    drop table tmp;
    insert into h_oddnum(id,d_date,d_code) values('e1d64c5f536b4b1bbfe9f04511c01f3f','20150422172207','00001');
    posted @ 2015-05-19 17:12 藤本薔薇 閱讀(178) | 評論 (0)編輯 收藏
    posted @ 2015-05-04 10:18 藤本薔薇 閱讀(143) | 評論 (0)編輯 收藏

    只能有四位,且可以是數字和字母的混合


    [A-Za-z0-9]{4}
    posted @ 2015-04-24 11:53 藤本薔薇 閱讀(183) | 評論 (0)編輯 收藏
     double rounded = (b1.multiply(b2).multiply(b3)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();

    java 四舍五入保留小數(copy)

     
    // 方式一:
    double f = 3.1516;
    BigDecimal b = new BigDecimal(f);
    double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
     
    // 方式二:
    new java.text.DecimalFormat("#.00").format(3.1415926);
    // #.00 表示兩位小數 #.0000四位小數 以此類推…
     
    // 方式三:
    double d = 3.1415926;
    String result = String.format("%.2f", d);
    // %.2f %. 表示 小數點前任意位數 2 表示兩位小數 格式后的結果為f 表示浮點型。
     
    //方法四:
    Math.round(5.2644555 * 100) * 0.01d;
    //String.format("%0" + 15 + "d", 23) 23不足15為就在前面補0

    posted @ 2015-04-24 11:47 藤本薔薇 閱讀(729) | 評論 (0)編輯 收藏

    在項目當中,對于double類型數據的使用比較頻繁。尤其是處理金錢相關的數據,在使用Double類型的數據時,涉及到精度,顯示,四舍五入等等問題。

    1.  顯示問題,當double 數據 小于 0.0001 大于等于 10000000時,直接轉為String輸出時,會顯示為科學計數法。

       1:  double double1 = 0.00009;
       2:  System.out.println(double1); // 9.0E-5
       3:         
       4:  double double2 = 10000000;
       5:  System.out.println(double2); // 1.0E7

    需要使用DecimalFormat 轉化輸出

       1:  DecimalFormat formate = new DecimalFormat("#.######");
       2:  System.out.println(formate.format(double1)); //0.00009
       3:          
       4:  formate = new DecimalFormat("########.##");
       5:  System.out.println(formate.format(double2));//10000000
     
    這里面會有四舍五入問題:
       1:  double double1 = 0.000096789;
       2:  DecimalFormat formate = new DecimalFormat("#.######");
       3:  System.out.println(formate.format(double1)); //0.000097

    當取小數點后六位時,會在第七位四舍五入。

     

    2. 誤差問題,兩個Double類型的數,進行運算。經常會產生誤差。

       1:  System.out.println(0.05 + 0.01); //0.060000000000000005
       2:  System.out.println(1.0 - 0.42);  //0.5800000000000001
       3:  System.out.println(4.015 * 100); //401.49999999999994
       4:  System.out.println(123.3 / 100); //1.2329999999999999

    看似簡單的計算,結果卻出人意料。解決方法是將Double轉為BigDecimal。調用BigDecimal的 運算。

       1:   double d1 = 0.05;
       2:   double d2 = 0.01;
       3:   BigDecimal b1 = new BigDecimal(Double.toString(d1));
       4:   BigDecimal b2 = new BigDecimal(Double.toString(d2));
       5:   System.out.println(b1.add(b2));  //0.06
     
    需要注意的是,如果new BigDecimal()時使用的是double類型的構造方法。問題依舊是可能存在的,這邊要使用String參數的構造方法。
     
    3. 兩個double比較的問題。將double數的運算結果和0比較。由于精度問題,比如if(1-0.999999999999999999 == 0.0) 這個是成立的。
     
    附上double數的運算:
       1:      /**
       2:       * 兩個Double數相加
       3:       * 
       4:       * @param v1
       5:       * @param v2
       6:       * @return
       7:       */
       8:      public static double doubleAdd(Double v1, Double v2) {
       9:   
      10:          BigDecimal b1 = new BigDecimal(v1.toString());
      11:   
      12:          BigDecimal b2 = new BigDecimal(v2.toString());
      13:   
      14:          return b1.add(b2).doubleValue();
      15:   
      16:      }
      17:   
      18:      /**
      19:       * 兩個Double數相減
      20:       * 
      21:       * @param v1
      22:       * @param v2
      23:       * @return
      24:       */
      25:      public static double doubleSub(Double v1, Double v2) {
      26:   
      27:          BigDecimal b1 = new BigDecimal(v1.toString());
      28:   
      29:          BigDecimal b2 = new BigDecimal(v2.toString());
      30:   
      31:          return b1.subtract(b2).doubleValue();
      32:   
      33:      }
      34:   
      35:      /**
      36:       * 兩個Double數相乘
      37:       * 
      38:       * @param v1
      39:       * @param v2
      40:       * @return
      41:       */
      42:      public static double doubleMul(Double v1, Double v2) {
      43:   
      44:          BigDecimal b1 = new BigDecimal(v1.toString());
      45:   
      46:          BigDecimal b2 = new BigDecimal(v2.toString());
      47:   
      48:          return b1.multiply(b2).doubleValue();
      49:   
      50:      }
      51:   
      52:      /**
      53:       * 兩個Double數相除
      54:       * 
      55:       * @param v1
      56:       * @param v2
      57:       * @return
      58:       */
      59:      public static double doubleDiv(Double v1, Double v2) {
      60:   
      61:          BigDecimal b1 = new BigDecimal(v1.toString());
      62:   
      63:          BigDecimal b2 = new BigDecimal(v2.toString());
      64:   
      65:          return b1.divide(b2, DEF_DIV_SCALE, BigDecimal.ROUND_HALF_UP)
      66:                  .doubleValue();
      67:   
      68:      }
      69:   
      70:      /**
      71:       * 兩個Double數相除,并保留scale位小數
      72:       * 
      73:       * @param v1
      74:       * @param v2
      75:       * @param scale
      76:       * @return
      77:       */
      78:      public static double doubleDiv(Double v1, Double v2, int scale) {
      79:   
      80:          if (scale < 0) {
      81:   
      82:              throw new IllegalArgumentException(
      83:   
      84:              "The scale must be a positive integer or zero");
      85:   
      86:          }
      87:          int DEF_DIV_SCALE = 10;
      88:   
      89:          BigDecimal b1 = new BigDecimal(v1.toString());
      90:   
      91:          BigDecimal b2 = new BigDecimal(v2.toString());
      92:   
      93:          return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
      94:   
      95:      }
    posted @ 2015-04-22 18:11 藤本薔薇 閱讀(178) | 評論 (0)編輯 收藏
    語句對的,但不能執行
    delete from h_oddnum where id in (select min(id) from h_oddnum group by d_date having count(d_date) > 1) 

    只能創建臨時表刪除

    create table tmp as select min(id) as col1 from h_oddnum group by d_date having count(d_date) > 1;
    delete from h_oddnum where id not in (select col1 from tmp); 
    drop table tmp;
    posted @ 2015-04-22 16:50 藤本薔薇 閱讀(140) | 評論 (0)編輯 收藏
        Date date = new Date("2014/1/10 18:20");
            Date date2 = new Date("2014/1/11 3:5");
            long temp = date2.getTime() - date.getTime();    //相差毫秒數
            long hours = temp / 1000 3600;                //相差小時數
            long temp2 = temp % (1000 3600);
            long mins = temp2 / 1000 60;                    //相差分鐘數
            System.out.println("date2 與 date 相差" + hours + "小時"+ mins + "分鐘");
    posted @ 2015-04-16 10:40 藤本薔薇 閱讀(136) | 評論 (0)編輯 收藏
    啟動jmeter時
    invalid or corrupt jarfile ApacheJmeter.jar  
    errorlevel=1

    后來才發現是本地jdk配置版本過低是jdk1.5
    如是將環境變量里面的java_home 里面的F:\Installed---success---go\jdk1.5改為C:\Program Files\Java\jdk1.7.0_45
    運行
    jmeter解壓文件下面bin里面的jmeter.bat 啟動成功










    posted @ 2015-04-14 10:20 藤本薔薇 閱讀(470) | 評論 (0)編輯 收藏
       BigDecimal b1 = new BigDecimal(Double.toString(service_charge*matching_term));
       BigDecimal b2 = new BigDecimal(Double.toString(0.7));
                BigDecimal b3 = new BigDecimal(Double.toString(0.3));
          
    //利息
    Double interest = b1.multiply(b2).doubleValue();
    posted @ 2015-04-13 14:09 藤本薔薇 閱讀(126) | 評論 (0)編輯 收藏
    僅列出標題
    共8頁: 上一頁 1 2 3 4 5 6 7 8 下一頁 
    主站蜘蛛池模板: WWW国产亚洲精品久久麻豆| 国产亚洲视频在线| 成人免费一区二区无码视频| 亚洲欧洲美洲无码精品VA | 日本一区二区免费看| av无码东京热亚洲男人的天堂| 香蕉免费看一区二区三区| 久久久婷婷五月亚洲97号色| 免费人成在线观看网站| 亚洲免费在线观看视频| 亚洲精品无码激情AV| 男女男精品网站免费观看| 国产福利免费观看| 免费av片在线观看网站| 亚洲日韩AV一区二区三区四区| 红杏亚洲影院一区二区三区| 国产精品免费视频观看拍拍| 亚洲国产成人综合| 亚洲午夜爱爱香蕉片| 中国videos性高清免费| 亚洲综合色区中文字幕| 中文字幕亚洲激情| 毛片免费全部免费观看| 久久福利青草精品资源站免费| 亚洲AV成人精品日韩一区| 亚洲综合精品香蕉久久网97| 免费人成视频在线观看视频| 免费在线视频你懂的| 亚洲 暴爽 AV人人爽日日碰| 国产精品亚洲片在线观看不卡| 欧洲人成在线免费| 无码毛片一区二区三区视频免费播放| 亚洲午夜久久久久久尤物| 亚洲另类激情综合偷自拍图| 久久精品免费电影| 亚洲国产片在线观看| 久久亚洲精品AB无码播放| 亚洲国产精品一区二区第一页免 | 特级无码毛片免费视频| 久久久久亚洲AV无码专区网站| 免费看大美女大黄大色|