十六進制轉十進制你好 ,
收到客戶要求導入包含多個文件的請求十六進制列。例如0xeadf、0xffdb;
在JMP13中,當我們簡單地將數據粘貼/導入到JMP中時,JMP會自動將這些十六進制列更改為連續數據,例如65499、60127...
而當他們升級到 JMP14* 時,十六進制列仍保留為“0xeadf”等字符,即使刪除前綴“0x”,它仍然保留。
公式化的十六進制轉數字(:列名稱)只適用於新創建的連續列,但不適用於現有的十六進制列
--> 這不會解決許多十六進制列的客戶問題。處理(JMP15 與 JMP14 的行為相同)
附2張圖片

問題:
1): JMP13 與 JMP14 中用戶可以配置的不同設置是什麼?
2):如果問題1不可能,有人有什麼想法來處理這種情況嗎?
感謝您的任何想法和想法,祝您星期五快樂:)
別針
回复:十六進制轉十進制@andreacoombs1 , 做十六進制轉數字()給你你正在尋找的東西?

回复:十六進制轉十進制@brady_brady我今天與 IBM 交談,這個轉換工具正是他們所需要的。他們正在 10 基數和 16 基數之間進行轉換。對此有任何更新 - 是否都已轉換為加載項?該功能在軟件中本身可用嗎?
我能夠使用 Hex to Number() 和 Hex() 來進行此轉換。 (見附件)
回复:十六進制轉十進制嗨,平和唐,
我知道我遲到了這個討論,但想補充一點,我一直希望 JMP 中有一個基本轉換函數。 下面是我不久前編寫的一個工具,用於在任意 2 個整數基數之間(基數 2 和基數 36(含)之間進行轉換)。
函數調用規範為:
b1Tob2 (n(字符串), b1(數字), b2(數字)) -> 結果(字符串)
它假定所有值均已正確指定(即,基數 5 中不能包含數字 376,因為基數 5 中不使用大於 5 的數字)。 正如 Pin 提到的,在應用該函數之前可能需要進行預處理(例如刪除“0x”)。
下面顯示的是在公式列中使用該工具的代碼。 必須更改的只是最後一行,以匹配表的列名稱,並且公式仍應適用於 Don 描述的標準化屬性過程。 這可以很容易地變成一個插件並製作一個有趣的博客。 也許我會在某個時候這樣做。
我還提供了正在使用的公式的屏幕截圖,並附上了示例表。
乾杯,
布雷迪
names default to here(1);
decToB = Function( {n, b},
{a, s},
s = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
n = Num( n );
a = "";
While( n >= 1,
a = Substr( s, Mod( n, b ) + 1, 1 ) || a;
n = Floor( n / b );
);
a;
);
bToDec = Function( {n, b},
{s},
s = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
c = 0;
n = Char( n );
For( i = 1, i <= Length( n ), i++,
a = (c + Contains( s, Substr( n, i, 1 ) )) - 1;
c = a * b;
);
a;
);
b1Tob2 = Function( {n, b1, b2},
{default local},
n = Char( n );
decTob( btoDec( n, b1 ), b2 );
);
b1Tob2( :Number, :Original Base, :New Base );

回复:十六進制轉十進制非常感謝唐。@唐麥考馬克
只需稍加修改,您的解決方案就可以很好地工作:首先替換前綴“0x” (JMP14, JMP15 的工作方式相同)
我認為您正在使用解決方案來創建各自的連續列。 --> 以便“十六進製到數字”公式可以在以後的公式標準化中起作用
(哈哈,希望我們的開發人員將來可以使“十六進製到數字”公式直接適用於這些十六進制列:) )

所以現在,我們將擁有原始的六角柱。 + 它們各自的連續列,名稱為 Length[FG0]
(根據用戶偏好更改標題名稱:) )
再次感謝。 祝您旅途平安,期待再見~
回复:十六進制轉十進制別針,
我注意到的一件事是,JMP 13 中的複制和粘貼不一定會給出正確的結果。 附加的 Excel 工作簿有 3 組相同值的列,最後兩組是十六進製表示形式。 粘貼最後一組列不會得到與第一組相同的結果,但應該如此。 我不確定開發人員是否意識到了這一點並改變了 13 到 14 之間的行為。 無論如何,出於這個原因,我不會在 13 及更早版本中使用複制和粘貼。 一個相對簡單的解決方案是:
- 選擇字符十六進制值列,右鍵單擊並選擇“新建列公式”>“字符”>“長度”。
- 選擇新創建的列並轉到列 > 標準化屬性。
- 選擇標準化屬性 > 公式。 編輯公式並將長度替換為十六進製到數字
- 選中替換列參考框(這很重要)
- 單擊“應用”
這應該將列轉換為其正確的值。 希望這可以幫助。
大學教師
回复:十六進制轉十進制@傑夫·珀金森確實如此。 我花了一段時間才理解特定示例需要什麼基數(它們在 16 和 10 之間相互轉換)以及 Hex to Number () 和 Hex () 中的默認基數是什麼。客戶認為在 Excel 中要容易得多。如果這是格式的一部分或者可以在“列信息”中發現,那就太好了...
現在前往內部願望清單。:)