نمایش نتایج 1 تا 5 از 5

نام تاپیک: تبدیل اعداد اعشار به حروف

  1. #1

    Post تبدیل اعداد اعشار به حروف

    با سلام و خسته نباشید
    از دوستان خواهش میکنم مشکل این کد رو بهم بگن الان 4 روزه گرفتارم
    اجرکم من الله
    فایل ضمیمه شده

    unit HoroofUnit;


    interface
    function Add2Harf(i:int64):string;


    implementation


    function Add2Harf(i:int64):string;
    //function AliHgethoroof(i:Extended):string;
    const v=' و ';
    var
    ok:boolean;
    j:Int64;


    {___________________________________}
    function yekan(y:byte):string;
    begin
    case y of
    0:result:='';
    1:result:='One';
    2:result:='Two';
    3:result:='Three';
    4:result:='Four';
    5:result:='Five';
    6:result:='Six';
    7:result:='Seven';
    8:result:='Eight';
    9:result:='Nine';
    enD;
    if result=''then ok:=false else ok:=true;
    end;
    {___________________________________}
    function dahgan(y:byte):string;
    begin
    case y of
    0:result:='';
    1:result:='Ten';
    2:result:='Twenty';
    3:result:='Thirty';
    4:result:='Fourty';
    5:result:='Fifty';
    6:result:='Sixty';
    7:result:='Seventy';
    8:result:='Eighty';
    9:result:='Ninety';
    enD;
    if result=''then ok:=false else ok:=true;
    end;
    {___________________________________}
    function sadgan(y:byte):string;
    begin
    case y of
    0:result:='';
    1:result:='One Hundred';
    2:result:='Two Hundred';
    3:result:='Three Hundred';
    4:result:='Four Hundred';
    5:result:='Five Hundred';
    6:result:='Six Hundred';
    7:result:='Seven Hundred';
    8:result:='Eight Hundred';
    9:result:='Nine Hundred';
    enD;
    if result=''then ok:=false else ok:=true;
    end;
    {___________________________________}
    function dah(y:byte):string;
    begin
    case y of
    0:result:='';
    10:result:='Ten';
    11:result:='Eleven';
    12:result:='Twelve';
    13:result:='Thirteen';
    14:result:='Fourteen';
    15:result:='Fifteen';
    16:result:='Sixteen';
    17:result:='Seventeen';
    18:result:='Eighteen';
    19:result:='Nineteen';
    enD;
    if result=''then ok:=false else ok:=true;
    end;
    {___________________________________}
    function seragham(si:smallint):string;
    begin
    result:='';
    result:=sadgan(si div 100);
    if ok then result:=result+v;

    if((si mod 100)div 10)<>1 then begin
    result:=result+dahgan((si mod 100)div 10);
    if ok then result:=result+v;
    result:=result+yekan(si mod 10);
    if not ok then result:=copy(result,1,length(result)-3);
    End
    else begin
    result:=result+dah(si mod 100);
    end;
    if result='' then ok:=false else ok:=true;
    end;
    {___________________________________}
    const
    I_tr=' Trillion';
    I_mr=' Milliard';
    I_ml=' Million';
    I_hz=' Thousand';


    FloatPoint: array [1..7] of String = (' ???',' ???',' ?????',' ?? ?????',' ?? ?????',' ????????',' ?? ????????');
    var
    jj: String;


    begin


    ok:=false;
    if pos('.',FloatToStr(i)) <> 0 then
    jj := copy( FloatToStr(i),1,pos('.',FloatToStr(i))-1)
    else jj := FloatToStr(i);
    j := StrToInt64Def(jj,0);
    result:=seragham(j div 1000000000000);
    if ok then result:=result+I_tr+v;
    result:=result+seragham((j mod 1000000000000)div 1000000000);
    if ok then result:=result+I_mr+v;
    result:=result+seragham((j mod 1000000000)div 1000000);
    if ok then result:=result+I_ml+v;
    result:=result+seragham((j mod 1000000)div 1000);
    if ok then result:=result+I_hz+v;
    result:=result+seragham(j mod 1000);
    if not ok then result:=copy(result,1,length(result)-3);

    if pos('.',FloatToStr(i)) <> 0 then begin
    Result := Result + ' مميز ';
    jj := copy( FloatToStr(i),pos('.',FloatToStr(i))+1,100);
    j := StrToInt64Def(jj,0);

    result:=result + seragham(j div 1000000000000);
    if ok then result:=result+I_tr+v;
    result:=result+seragham((j mod 1000000000000)div 1000000000);
    if ok then result:=result+I_mr+v;
    result:=result+seragham((j mod 1000000000)div 1000000);
    if ok then result:=result+I_ml+v;
    result:=result+seragham((j mod 1000000)div 1000);
    if ok then result:=result+I_hz+v;
    result:=result+seragham(j mod 1000);
    if not ok then result:=copy(result,1,length(result);-3);

    Result := Result + FloatPoint[length(JJ)];


    end;


    if i=0 then result:='Ziro';
    end;
    end.
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله JASEM128 : پنج شنبه 17 فروردین 1396 در 01:58 صبح

  2. #2

    نقل قول: تبدیل اعداد اعشار به حروف

    خوب چه مشکلی پیش میاد دوست عزیز ؟
    توضیح بدید لطفا

  3. #3

    نقل قول: تبدیل اعداد اعشار به حروف

    این قسمت floatToStr ایراد میگیره


    ok:=false;
    if pos('.',FloatToStr(i)) <> 0 then
    jj := copy( FloatToStr(i),1,pos('.',FloatToStr(i))-1)
    else jj := FloatToStr(i);
    j := StrToInt64Def(jj,0);
    result:=seragham(j div 1000000000000);
    if ok then result:=result+I_tr+v;
    result:=result+seragham((j mod 1000000000000)div 1000000000);
    if ok then result:=result+I_mr+v;
    result:=result+seragham((j mod 1000000000)div 1000000);
    if ok then result:=result+I_ml+v;
    result:=result+seragham((j mod 1000000)div 1000);
    if ok then result:=result+I_hz+v;
    result:=result+seragham(j mod 1000);
    if not ok then result:=copy(result,1,length(result)-3);

    if pos('.',FloatToStr(i)) <> 0 then begin
    Result := Result + ' ããíÒ ';
    jj := copy( FloatToStr(i),pos('.',FloatToStr(i))+1,100);
    j := StrToInt64Def(jj,0);

    result:=result + seragham(j div 1000000000000);
    if ok then result:=result+I_tr+v;
    result:=result+seragham((j mod 1000000000000)div 1000000000);
    if ok then result:=result+I_mr+v;
    result:=result+seragham((j mod 1000000000)div 1000000);
    if ok then result:=result+I_ml+v;
    result:=result+seragham((j mod 1000000)div 1000);
    if ok then result:=result+I_hz+v;
    result:=result+seragham(j mod 1000);
    if not ok then result:=copy(result,1,length(result);-3);

    Result := Result + FloatPoint[length(JJ)];


    end;


    if i=0 then result:='Ziro';
    end;
    end.
    آخرین ویرایش به وسیله JASEM128 : پنج شنبه 17 فروردین 1396 در 01:59 صبح

  4. #4
    کاربر دائمی آواتار Ananas
    تاریخ عضویت
    آبان 1390
    محل زندگی
    طول 50 و عرض 34 درجه
    سن
    36
    پست
    894

    نقل قول: تبدیل اعداد اعشار به حروف


    ...
    if not ok then
    result := copy(result, 1, length(result) - 3);

    result := result + FloatPoint[length(JJ)];

    end;

    if i = 0 then
    result := 'Ziro';
    end;

  5. #5

    نقل قول: تبدیل اعداد اعشار به حروف

    کجاست یاری دهنده ای که مرا یاری کند؟

تاپیک های مشابه

  1. چه جوري مييشه كه اعداد رو به حروف تبديل كنيم
    نوشته شده توسط mojahed.morteza در بخش Access
    پاسخ: 9
    آخرین پست: سه شنبه 04 تیر 1392, 01:56 صبح
  2. تبدیل اعداد اعشار به صحیح
    نوشته شده توسط siavash82ir در بخش PHP
    پاسخ: 5
    آخرین پست: چهارشنبه 14 مهر 1389, 23:16 عصر
  3. تبدیل اعداد اعشاری به حروف
    نوشته شده توسط reza_moridi در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: دوشنبه 26 بهمن 1383, 14:27 عصر
  4. تبدیل اعداد اعشاری به حروف
    نوشته شده توسط reza_moridi در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: یک شنبه 25 بهمن 1383, 18:43 عصر
  5. تبدیل مبلغ عددی به حروف
    نوشته شده توسط shsoft در بخش برنامه نویسی در 6 VB
    پاسخ: 10
    آخرین پست: دوشنبه 07 اردیبهشت 1383, 16:47 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •