none
如何轉換 -50.00 ~ +50.00 的10進制 轉成 16進制? RRS feed

  • 問題

  • 請問各位前輩:

    如何轉換 -50.00 ~ +50.00 的10進制 轉成 16進制?
    如果是 int 的值 小弟知道如何轉,
    第一次轉浮點含正負值,還真不知道該怎麼做哩。。。

    錯誤範例:
    this.textBox3.Text = float.Parse(this.textBox2.Text).ToString("X2");
    2009年5月27日 上午 06:40

解答

  • 1. 寫道 MemoryStream 後,用 Byte 陣列讀出來
    2. 轉成陣列後,用 Buffer.BlockCopy 轉成 Byte 陣列

    再將 Byte 陣列轉成16進位字串。

    1 的方法這邊有個 VBNET 範例,程式碼在下方基本條件內的連結:
    ObjectToHex 將 .Net 數值變數型別轉換成16進位字串


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    • 已標示為解答 Carlo Yang 2009年5月27日 上午 09:13
    2009年5月27日 上午 08:47
  • 心冷熱情熄 前輩: 

    小弟解出來了,分享出來囉。

    Byte[] tmpBytes = BitConverter.GetBytes(float.Parse(this.textBox2.Text));
    
    Array.Reverse(tmpBytes);
    
    this.textBox3.Text = BitConverter.ToString(tmpBytes).Replace("-", "");
    
    • 已標示為解答 Carlo Yang 2009年5月27日 上午 09:13
    2009年5月27日 上午 09:13

所有回覆

  • 1. 寫道 MemoryStream 後,用 Byte 陣列讀出來
    2. 轉成陣列後,用 Buffer.BlockCopy 轉成 Byte 陣列

    再將 Byte 陣列轉成16進位字串。

    1 的方法這邊有個 VBNET 範例,程式碼在下方基本條件內的連結:
    ObjectToHex 將 .Net 數值變數型別轉換成16進位字串


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    • 已標示為解答 Carlo Yang 2009年5月27日 上午 09:13
    2009年5月27日 上午 08:47
  • 心冷熱情熄 前輩: 

    小弟解出來了,分享出來囉。

    Byte[] tmpBytes = BitConverter.GetBytes(float.Parse(this.textBox2.Text));
    
    Array.Reverse(tmpBytes);
    
    this.textBox3.Text = BitConverter.ToString(tmpBytes).Replace("-", "");
    
    • 已標示為解答 Carlo Yang 2009年5月27日 上午 09:13
    2009年5月27日 上午 09:13