数式
sum(split(prop("入力(16進数)"), "").map(
ifs(
current == "A", 10,
current == "B", 11,
current == "C", 12,
current == "D", 13,
current == "E", 14,
current == "F", 15,
current.toNumber()
) * pow(16, length(prop("入力(16進数)")) - index - 1)
))
Step By Step
① 文字列を1文字ずつの配列にする
split(prop("入力"),"")
② 1文字ずつ文字を数値に変換する
split(prop("入力(16進数)"), "").map(
ifs(
current == "A", 10,
current == "B", 11,
current == "C", 12,
current == "D", 13,
current == "E", 14,
current == "F", 15,
current.toNumber()
)
)
③ 位に合わせて16の累乗を掛ける
split(prop("入力"), "").map(
ifs(
current == "A", 10,
current == "B", 11,
current == "C", 12,
current == "D", 13,
current == "E", 14,
current == "F", 15,
current.toNumber()
) * pow(16, length(prop("入力")) - index - 1)
)
④ 合算する
sum(split(prop("入力"), "").map(
ifs(
current == "A", 10,
current == "B", 11,
current == "C", 12,
current == "D", 13,
current == "E", 14,
current == "F", 15,
current.toNumber()
) * pow(16, length(prop("入力")) - index - 1)
))
使用例
16進数のカラーコードを10進数にすることができます。
先頭の#は、toNumber
メソッドで値を返さないので無視されます。
参考