2009年3月16日 星期一

[C#] 做流水號時,不滿位數補零(0)

在寫產生流水號的時候,需求是 9 Char 位數。

 可是資料不滿的時候要怎麼來補滿呢?


  string show4_5 = string.Format("{0,1:000000000}",int.Parse(PLT_QTY_FIRST)); //數量不滿 9 位數時,前面補 0

  //很多 0 那裡是指定總位數是多少。 
  //後面的 PLT_QTY_FIRST 是指原本的變數 ,就是原本的水號。

  結果:
  初值 PLT_QTY_FIRST = 999
   
  show4_5 = 000000999

...

  太機車。。。 竟然有更簡單的

  int.Parse(PLT_QTY_FIRST).ToString("000000000");

 


1 則留言:

  1. 其實大大不用這麼麻煩啦^^"
    其實 string 類別就已經有提供 Method 讓我們可以做到這個功能了^^

    那我就用大大的例子來示範吧!!

    在大大的例子中, 流水號的長度為 9,
    也就是說當流水號長度不滿 9 的話就在流水號的左邊補「0」
    而最後的流水號結果應該為「000000999」


    而在 string 類別中有個 Method 「PadLeft()」, 意思就是在字串的左方補上字元
    這也就是我們要使用來補零的 Method

    這個方法提供了兩種覆載方式, 而我們只需要用其中的一種
    第一個參數則是傳入最後結果的總長度是多少, 我們的例子就是傳入「9」
    第二個參數則是傳入我們要在原始流水號的左邊要補上的字元「'0'」

    使用方式:
    PLT_QTY_FIRST = 999;
    show4_5 = PLT_QTY_FIRST.PadLeft(9, '0');

    結果:
    000000999


    是不是又更簡單了呢^^ (但..別罵我機車嘿XD )

    相對的..要在字串右邊補零, 就是使用「PadRight()」 Method 囉^^
    其實大大可以多參考一下 MSDN 或是其他技術書籍..就可以挖到很多寶囉^^
    希望可以提供的方法能對大大有些幫助^^"

    回覆刪除