zoukankan      html  css  js  c++  java
  • 小写金额转换为大写

    1. function MoneyToUpper(const NumBer: Double): string;
    2. var StrNumber, AUpperNum, AMoneyUnit: string;
    3.   UpperNum: array[0..9of string;
    4.   MoneyUnit: array[1..16of string;
    5.   I: Integer;
    6.   AZero: Boolean;
    7.   N: Double;
    8. begin
    9.   UpperNum[1] := '壹';
    10.   UpperNum[2] := '贰';
    11.   UpperNum[3] := '叁';
    12.   UpperNum[4] := '肆';
    13.   UpperNum[5] := '伍';
    14.   UpperNum[6] := '陆';
    15.   UpperNum[7] := '柒';
    16.   UpperNum[8] := '捌';
    17.   UpperNum[9] := '玖';
    18.   MoneyUnit[1] := '万';
    19.   MoneyUnit[2] := '仟';
    20.   MoneyUnit[3] := '佰';
    21.   MoneyUnit[4] := '拾';
    22.   MoneyUnit[5] := '亿';
    23.   MoneyUnit[6] := '仟';
    24.   MoneyUnit[7] := '佰';
    25.   MoneyUnit[8] := '拾';
    26.   MoneyUnit[9] := '万';
    27.   MoneyUnit[10] := '仟';
    28.   MoneyUnit[11] := '佰';
    29.   MoneyUnit[12] := '拾';
    30.   MoneyUnit[13] := '元';
    31.   MoneyUnit[14] := '.';
    32.   MoneyUnit[15] := '角';
    33.   MoneyUnit[16] := '分';
    34.   AZero := False;
    35.   AUpperNum := '';
    36.   AMoneyUnit := '';
    37.   result := '';
    38.   if NumBer < 0 then
    39.   begin
    40.     result := '负';
    41.     N := -NumBer;
    42.   end
    43.   else
    44.     N := NumBer;
    45.   Str(N: 162, StrNumber);
    46.   for I := 1 to 16 do
    47.   begin
    48.     if StrNumber[I] <> '   ' then
    49.     begin
    50.       AMoneyUnit := MoneyUnit[I];
    51.       if StrNumber[I] = '0' then
    52.       begin
    53.         if AZero and (copy(result, Length(result) - 12) = '零'then
    54.           result := copy(result, 1, Length(result) - 2);
    55.         case I of
    56.           1..46..810..12begin //   万,仟,佰,拾
    57.               AUpperNum := '零';
    58.               AMoneyUnit := '';
    59.             end;
    60.           5913begin //   亿,万,元
    61.               if StrToFloat(StrNumber) < 1 then AMoneyUnit := '';
    62.               AUpperNum := '';
    63.             end;
    64.           15begin //   角
    65.               if StrToFloat(StrNumber) < 1 then AUpperNum := ''
    66.               else AUpperNum := '零';
    67.               AMoneyUnit := '';
    68.             end;
    69.           16begin //   分
    70.               AUpperNum := '';
    71.               AMoneyUnit := '';
    72.             end;
    73.         end;
    74.         AZero := True;
    75.       end
    76.       else
    77.       begin
    78.         if StrNumber[I] = '.' then
    79.         begin
    80.           AUpperNum := '';
    81.           AMoneyUnit := '';
    82.         end
    83.         else
    84.         begin
    85.           AZero := False;
    86.           AUpperNum := UpperNum[StrToInt(StrNumber[I])];
    87.         end
    88.       end;
    89.       result := result + (AUpperNum + AMoneyUnit)
    90.     end;
    91.   end;
    92.   result := result + '整';
    93. end;
  • 相关阅读:
    The nineteenth day
    The eighteen day
    弱读下
    弱读上
    失爆 爆破音
    连读
    The seventeenth day
    The sixteenth day
    React 官方脚手架 create-react-app快速生成新项目
    pc端引入微信公众号文章
  • 原文地址:https://www.cnblogs.com/zhaoshujie/p/9594816.html
Copyright © 2011-2022 走看看