none
10進制轉16進制

    問題

  • 我想要的是輸入10進制轉16進制
    在 >16  時    能顯示 0F   就是前面要補0
    我之前是有自己寫一個  用IF去判斷
    今天想說找看看有沒有已經寫好的功能 
    看到這個
    Convert.ToInt32(Convert.ToString(100, 16).ToUpper()).ToString("00")
    但問題來了  在輸入  >137  
    都會寫      輸入字串格式不正確。
    2009年12月14日 上午 09:23

解答

  • Hi,

    Try it
          Dim hexString As String = Convert.ToString(200, 16).PadLeft(2, "0"c)

    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    • 已標示為解答 x32 2009年12月14日 上午 09:44
    2009年12月14日 上午 09:42

所有回覆

  • Hi,

    Try it
          Dim hexString As String = Convert.ToString(200, 16).PadLeft(2, "0"c)

    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    • 已標示為解答 x32 2009年12月14日 上午 09:44
    2009年12月14日 上午 09:42
  • 稍為改一下不就得了
            Dim mystr As String = ""
            mystr = "0" & System.Convert.ToInt32(TextBox1.Text).ToString("X")
            mystr = mystr.Substring(mystr.Length - 2, 2)
    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    2009年12月14日 上午 09:50
  • 試試下面這個也不錯.
    只有整數類資料型別 (Integral Type) 才支援這個格式。數值將轉換為十六進位數字的字串
    http://msdn.microsoft.com/zh-tw/library/dwhawy9k.aspx

    TextBox2.Text = CInt(TextBox1.Text).ToString("X2")

    x: 輸出字母為小寫
    X: 輸出字母為大寫
    2: 代表不足2位數時,前面補0 (要4位數就改4, 8位數就改8...)





    • 已提議為解答 C.Kevin 2012年8月4日 上午 09:07
    2009年12月16日 上午 01:11