Scite 转换十进制 十六进制

lua-users home
wiki

在编程时,你会有多少次需要将十进制转换为十六进制或将十六进制转换为十进制。 SciteConvertDecHex 可以将选中的文本转换为十进制或十六进制。你不再需要外部程序员计算器应用程序和复制粘贴的工作了。

-- SciteConvertDecHex
-- Convert the selected text to decimal or hex
-- 2013.04.06 by lee.sheen at gmail dot com

scite_Command {
  'Convert Dec/Hex|ConvertDecHex|Alt+Shift+C',
}

function IsHexString (s)
  local header = string.sub(s, 1, 2)
  if "0x" == header or "0X" == header then
    return true
  else
    return false
  end
end

function ConvertDecHex ()
  local current_selected_text, current_selected_length = editor:GetSelText()
  local converted_number = tonumber(current_selected_text)
  if  not (converted_number == nil) then
    local converted_text = nil
    if IsHexString(current_selected_text) then
      converted_text = tostring(converted_number)
    else
      converted_text = string.format("0x%X", converted_number)
    end
    editor:ReplaceSel(converted_text)
  end
end

RecentChanges · preferences
编辑 · 历史
最后编辑于 2013年4月6日 上午4:27 GMT (差异)