decToHex

10進数を16進数に変換します。16進数を10進数に変換するにはhexToDec関数を使います。

構文
  1. UString = decToHex( dec )
引数
dec
10進数
戻値
16進数に変換した値

プログラム

//////////////////////////////////////////////////
// 【引数】
//   dec : 10進数 
// 【戻値】
//   16進数に変換した値 
//////////////////////////////////////////////////
FUNCTION decToHex(dec)
	RESULT = FORMAT(VAL(dec), 0, -1)
FEND

解説

  1. 2行目
    	RESULT = FORMAT(VAL(dec), 0, -1)
    FORMAT関数の第三引数に-1を指定すると16進数表記になります。

プログラム実行例

指定した色の反転色を求める

DIM color = invertedColor(RGBToColor($e4, $b7, $d8))
DIM rgb = colorToRGB(color)

arrayMap("decToHex(%val%)", rgb)
PRINT "$" + JOIN(rgb, "")

//////////////////////////////////////////////////
// 【引数】
//   callback : 配列の各要素に適用するコールバック関数 
//   array : コールバック関数を適用する配列 
// 【戻値】
//   callback関数を適用した後、 適用後の要素を含む配列 
//////////////////////////////////////////////////
PROCEDURE arrayMap(callback, var array[])
	DIM tmp[RESIZE(array)]
	DIM n = 0
	FOR %val% IN array
		tmp[n] = EVAL(callback)
		n = n + 1
	NEXT
	RESIZE(array, RESIZE(tmp))
	FOR n = 0 TO RESIZE(tmp)
		array[n] = tmp[n]
	NEXT
FEND

//////////////////////////////////////////////////
// 【引数】
//   color : Color値 
// 【戻値】
//   赤成分、緑成分、青成分を格納した配列 
//////////////////////////////////////////////////
FUNCTION colorToRGB(color)
	DIM array[2]
	array[0] = color AND $FF
	array[1] = (color AND $FF00) / $100
	array[2] = (color AND $FF0000) / $10000
	RESULT = SLICE(array)
FEND

//////////////////////////////////////////////////
// 【引数】
//   dec : 10進数 
// 【戻値】
//   16進数に変換した値 
//////////////////////////////////////////////////
FUNCTION decToHex(dec)
	RESULT = FORMAT(VAL(dec), 0, -1)
FEND

//////////////////////////////////////////////////
// 【引数】
//   color : Color値 
// 【戻値】
//   反転色 
//////////////////////////////////////////////////
FUNCTION invertedColor(color)
	DIM array = colorToRGB(color)
	arrayMap(255 + " - %val%", array)
	RESULT = RGBToColor(array[0], array[1], array[2])
FEND

//////////////////////////////////////////////////
// 【引数】
//   r : 赤成分 
//   g : 緑成分 
//   b : 青成分 
// 【戻値】
//   Color値 
//////////////////////////////////////////////////
FUNCTION RGBToColor(r, g, b)
	RESULT = r + g * 256 + b * 65536
FEND
  1. invertedColor
  2. RGBToColor
  3. arrayMap
  4. decToHex
  5. JOIN
結果
$1B4827

関連記事

hexToDec
16進数を10進数に変換します。10進数を16進数に変換するにはdecToHex関数を使います。
binToDec
2進数を10進数に変換します。10進数を2進数に変換するにはdecToBin関数を使います。
binToHex
2進数を16進数に変換します。16進数を2進数に変換するにはhexToBin関数を使います。
hexToBin
16進数を2進数に変換します。2進数を16進数に変換するにはbinToHex関数を使います。
decToBin
10進数を2進数に変換します。2進数を10進数に変換するにはbinToDec関数を使います。
16進数
ABS (スクリプト関数)
引数の絶対値を求めます。
ARCCOS (スクリプト関数)
引数の逆余弦を求めます。
ARCSIN (スクリプト関数)
引数の逆正弦を求めます。
ARCTAN (スクリプト関数)
引数の逆正接を求めます。
CEIL (スクリプト関数)
正の方向へ切り上げた数値を返します。
EXP (スクリプト関数)
自然指数関数を求めます。
LN (スクリプト関数)
自然対数を求めます。
LOGN (スクリプト関数)
常用対数を求めます。
ZCUT (スクリプト関数)
マイナス値を0にして返します。プラス値はそのままの値を返します。
INT (スクリプト関数)
小数点以下を切り捨てた値を返します。負の値の場合、正の値のようにより小さい値にではなく0に近い側に切り捨てされます。
POWER (スクリプト関数)
数値のべき乗を求めます。
RANDOM (スクリプト関数)
RANDOM関数は、0以上Range未満の範囲にある乱数(整数)を返します。引数を省略した場合は、0以上1未満の乱数(小数点以下15桁)を返します。
ROUND (スクリプト関数)
指定した位置で偶数丸めした値を返します。四捨五入する場合は、roundOff関数を使います。
isEven
引数に指定した数値が偶数かどうかを調べます。偶数ならばTrue、それ以外の数値はFalse、文字列はエラー値を返します。
isOdd
引数に指定した数値が奇数かどうかを調べます。奇数ならばTrue、それ以外の数値はFalse、文字列はエラー値を返します。
radToDeg
弧度法(Radian)を度数法(Degree)に変換します。度数法を弧度法に変換するにはDegToRad関数を使います。
SQRT (スクリプト関数)
引数の平方根を求めます。累乗根はPOWER関数を使います。
fact
引数に指定した自然数の階乗を求めます。再帰関数。二重階乗を求めるにはfactDouble関数を使います。
factDouble
引数に指定した自然数の二重階乗を求めます。戻値の型はDouble型です。再帰関数。階乗を求めるにはfact関数を使います。
degToRad
度数法(Degree)を弧度法(Radian)に変換します。弧度法を度数法に変換するにはRadToDeg関数を使います。
GCD
GCD関数は、引数に指定した配列の最大公約数(Greatest Common Measure)を求める関数です。最小公倍数を求めるには、LCM関数を使います。
LCM
LCM関数は、引数に指定した配列の最小公倍数(Least Common Multiple)を求める関数です。最大公約数を求めるには、GMD関数を使います。
isPrime
引数に指定した数値が素数かどうかを調べます。素数の場合True、素数でない場合Falseを返します。
normalizeAngle
度単位の角度を0~360度に正規化します。
divisors
引数に指定した数値の約数をリストを配列で返します。
digitSum
引数に指定した数字和(数値の各桁を足した結果)を返します。正の整数以外を指定した場合は、エラー値を返します。
Collatz
コラッツ数列を求め結果を配列で返します。
Kaprekar
カプレカ数を求め結果を配列で返します。
ARABIC
ARABIC関数は、ローマ数字をアラビア数字に変換する関数です。アラビア数字をローマ数字に変換するには、ROMAN関数を使います。
ROMAN
ROMAN関数は、アラビア数字をローマ数字に変換する関数です。ローマ数字をアラビア数字に変換するには、ARABIC関数を使います。