Delphi가 상품 금액을 소문자로 대문자로 바꾸다

13202 단어 Delphi

<!--
body { color: #000000; background-color: #74F55C; }
body {font-family: 송체, font-size: 11pt;} & #13;
.pas1-assembler { color: #800000; }
.pas1-character { color: #0000FF; }
.pas1-comment { color: #008000; }
.pas1-float { }
.pas1-hexadecimal { }
.pas1-identifier { }
.pas1-number { color: #FF0080; }
.pas1-preprocessor { color: #800080; }
.pas1-reservedword { color: #000000; font-weight: bold; }
.pas1-space { }
.pas1-string { color: #0000FF; }
.pas1-symbol { }
-->
Function DecimalToChineseCurrency(Decimal: String): StringVar   s, t              : TStringList;   i, ti             : Integer;   tmps              : String;   IsDecimal         : Integer; Begin IsDecimal := 0;   ti := 0;   For i := 1 To Length(Decimal) Do   Begin     If Decimal[i] = '.' Then     Begin Inc(IsDecimal);       ti := i;     End;     If Not (Decimal[i] In ['0'..'9''.']) Or (IsDecimal > 1Then     Begin Result := Decimal;       Exit;     End;   End;   If ti = 0 Then                        //        Begin    tmps := Decimal + '.';     ti := Length(tmps);
tmps := Decimal;   s := TStringList.Create;   t := TStringList.Create;   Try s.Delimiter := ',';     t.Delimiter := ',';     s.CommaText := '0= ,1= ,2= ,3= ,4= ,5= ,6= ,7= ,8= ,9= ';     t.CommaText := '-1= ,0= ,1= ,2= ,3= ,4= ,5= ,6= ,7= ,8= ,9= ,10= ,11= ,12= ,13= ,14= ,15= ,16= ';     ti := Length(tmps) - ti;     tmps := StringReplace(tmps, '.''', [rfReplaceAll]);     For i := 1 To Length(tmps) Do     Begin       If (tmps[Length(tmps) - i + 1] = '0'And (i Mod 4 = 1Then         Result := t.Values[IntToStr(i - ti)] + Result       Else         If (tmps[Length(tmps) - i + 1] = '0'And (i Mod 4 <> 1Then         Result := s.Values[tmps[Length(tmps) - i + 1]] + Result       Else         Result := s.Values[tmps[Length(tmps) - i + 1]] + t.Values[IntToStr(i - ti)] + Result;     End;     While Pos(' ', Result) > 0 Do       Result := StringReplace(Result, ' '' ', [rfReplaceAll]);     If Pos(' ', Result) > 0 Then Result := StringReplace(Result, ' '' ', [rfReplaceAll]);     If Pos(' ', Result) > 0 Then Result := StringReplace(Result, ' '' ', [rfReplaceAll]);     If Pos(' ', Result) > 0 Then Result := StringReplace(Result, ' '' ', [rfReplaceAll]);     If Pos(' ', Result) > 0 Then Result := StringReplace(Result, ' '' ', [rfReplaceAll]);     If Pos(' ', Result) > 0 Then Result := StringReplace(Result, ' '' ', [rfReplaceAll]);     If Pos(' ', Result) > 0 Then Result := StringReplace(Result, ' '' ', [rfReplaceAll]);     If Pos(' ', Result) > 0 Then Result := StringReplace(Result, ' '' ', [rfReplaceAll]);   Finally t.Free;     s.Free;   End; End; {=====================================================} Function ChineseCurrencyToDecimal(ChineseCurrency: String): StringVar   s                 : TStringList;   i, ti             : Integer; Begin s := TStringList.Create;   Try s.Delimiter := ',';     s.CommaText := ' =., =0, =1, =2, =3, =4, =5, =6, =7, =8, =9';     ti := Length(ChineseCurrency) Div 2;     For i := ti Downto 1 Do       Result := s.Values[ChineseCurrency[i * 2 - 1] + ChineseCurrency[i * 2]] + Result;   Finally s.Free;   End; End;

좋은 웹페이지 즐겨찾기