如何將double型數值轉換為16進位制的形式
阿新 • • 發佈:2019-02-12
昨天程式設計序遇到一個隨機生成的uid,怎麼都不知道怎麼生成的,最後用了HttpAnalyzerstdv7查了一下,原來是在js中生成的,為了模擬js,筆者將其內部函式看了一下,發現有程式碼中有一double型變數,將其轉換成為了16進位制,當時那個糾結啊,浪費了那麼多時間也沒想明白那些a,b,c,d和數字怎麼出來的。還是問了一下老師,老實說可能是16進位制。筆者最後做了實驗,發現真的是這樣。不多說,將原始碼發出來,供大家參考學習。
public String SetNewGuid() {
String guid = "";
for (int i = 1; i <= 32; i++) {
int n =(int)Math.floor(Math.random() * 16.0);
String uid=Integer.toHexString(n) ;
System.out.println(uid);
guid += uid;
if ((i == 8) || (i == 12) || (i == 16) || (i == 20))
guid += "-";
}
return guid;
}
很簡單的一個操作,現在看起來都感覺可笑,可如果你不想明白,真的不清楚怎麼回事。所以說,聰明的大腦遠勝於無謂的刻苦,多想多思考才是未來發展的主題!