如何将字符串中的半角字符转换为全角字符(100分)

  • 主题发起人 主题发起人 zgj_gd
  • 开始时间 开始时间
Z

zgj_gd

Unregistered / Unconfirmed
GUEST, unregistred user!
例如:'123456abcd 已退票' ——〉'123456abcd 已退票'.用delphi怎么编程实现?
 
半角字符总共才那么多个,建个查找表替换掉不就行了
 
还有没有其他好方法?
 
/// 半角转全角的函数
function ToSDB(AInput: Widestring): WideString;
var
I: Integer;
nChar: Cardinal;
begin
Result := AInput;
for I := 1 to Length(AInput) do
begin
nChar := Cardinal(WideChar(AInput));
if nChar = 32 then
begin
Result := WideChar(12288);
Continue;
end;
if (nChar < 127) then
Result := WideChar(nChar + 65248)
end;
end;


/// 全角转半角的函数
function ToDBC(const AInput: Widestring): Widestring;
var
I: Integer;
nChar: Cardinal;
begin
Result := AInput;
for I := 1 to Length(AInput) do
begin
nChar := Cardinal(WideChar(AInput));
if nChar = 12288 then
begin
Result := WideChar(32);
Continue;
end;
if (nChar > 65280) and (nChar < 65375) then
Result := WideChar(nChar - 65248)
end;
end;
 
多人接受答案了。
 
后退
顶部