是否有方法將MS Access顏色代碼轉換爲C#中的十六進制?在MS中將MS Access顏色代碼轉換爲十六進制#
e.g.
- (white) 16777215 -> #FFFFFF
- (black) 0 -> #000000
- (blue) 16711680 -> #0000FF
這裏有一些參考表我對計算器
是否有方法將MS Access顏色代碼轉換爲C#中的十六進制?在MS中將MS Access顏色代碼轉換爲十六進制#
e.g.
- (white) 16777215 -> #FFFFFF
- (black) 0 -> #000000
- (blue) 16711680 -> #0000FF
這裏有一些參考表我對計算器
發現你可以轉換爲十六進制,像這樣:
string hexValue = "#" + 16777215.ToString("X");
還是在方法包起來:
public static string AccessToHex(int colorCode) {
return "#" + colorCode.ToString("X");
}
您需要的值前兩個數字與過去兩年轉換爲十六進制,然後翻轉。例如,將藍色的原始值16711680轉換爲十六進制值FF0000。但是,藍色的值是0000FF;需要交換(所以是的,其他答案是錯誤的...)
該值也被填充以始終具有6個所需的數字。
string rawHex = msAccessColorCode.ToString("X").PadLeft(6, '0');
string hexColorCode = "#" + rawHex.Substring(4, 2) + rawHex.Substring(2, 2) + rawHex.Substring(0, 2);
要做相反的事情(十六進制 - >女士訪問),只需反過來執行這些步驟即可。剝去多餘#
字符,翻轉回第一/最後兩個值,並轉換這一數字從基地16座10
string input = "#0000FF";
string hexColorCode = input.TrimStart('#');
string rawHex = hexColorCode.Substring(4, 2) + hexColorCode.Substring(2, 2) + hexColorCode.Substring(0, 2);
string result = Convert.ToInt32(rawHex, 16).ToString(); //16711680
請注意,Intew.Max
設置爲0x7FFFFFFF
(和我們的顏色代碼帽在0xFFFFFF
)所以在這裏使用Convert.ToInt32
而不是Int64
是完全安全的。
我們如何做相反的事情? – FMFF 2014-06-03 19:33:39
感謝您的反饋,我編輯了包含它的答案:) – 2014-06-03 22:53:59
我沒有意識到它是如此簡單,謝謝!我可以驗證這個@ http://www.statman.info/conversions/hexadecimal.html – Ernest 2013-04-26 03:05:51