PDA

View Full Version : تبدیل عدد به حروف



محسن شمس
چهارشنبه 13 مهر 1384, 19:15 عصر
اگر کسی کدی داره بزاره تا ما هم استفاده کنیم

یک دنیا ممنون

vcldeveloper
پنج شنبه 14 مهر 1384, 12:03 عصر
1001 امین باری هست که کسی این سوال رو می پرسه!!!!!!!!!!

szabeh
پنج شنبه 14 مهر 1384, 15:40 عصر
علی جون کشاورز نارحت نشو
بنده خدا که گناه نکرد منم خودم خیلی گشتم یک جواب درست و حسابی پیدا نکردم
دو سه تا لینک بود که کار نکرد
اگگه ناراحت نمیشی جوابشو به ما بده

محسن شمس
پنج شنبه 14 مهر 1384, 16:51 عصر
بابا من رفتم جستجو کردم ولی اصلا کار نمی کرد Link هایشان

جون مادرتون بزارین , بدجوری لازم دارم

PalizeSoftware
پنج شنبه 14 مهر 1384, 19:40 عصر
محسن جان اگه فقط عبارت "تبدیل عدد" رو توی سایت جستجو می‌کردی قطعا به نمونه جوابی که من رسیدم می‌رسیدی. این رو ببین
http://www.barnamenevis.org/forum/showthread.php?t=21993
موفق باشی

Developer Programmer
پنج شنبه 14 مهر 1384, 20:56 عصر
به سالار سافت PM بزنید و ازش بخواین
آدرس سایتش هم اگه اشتباه نکنم SalarSoft.GeoCities.com بود

دنیای دلفی
جمعه 15 مهر 1384, 10:35 صبح
کد تبدیل عدد به حرف
unit Curr2Str;

interface
function Add2Harf(i:int64):string;

implementation

function Add2Harf(i:int64):string;
const v=' و ';
var
ok:boolean;
{___________________________________}
function yekan(y:byte):string;
begin
case y of
0:result:='';
1:result:='یک';
2:result:='دو';
3:result:='سه';
4:result:='چهار';
5:result:='پنج';
6:result:='شش';
7:result:='هفت';
8:result:='هشت';
9:result:='نه';
enD;
if result=''then ok:=false else ok:=true;
end;
{___________________________________}
function dahgan(y:byte):string;
begin
case y of
0:result:='';
1:result:='ده';
2:result:='بیست';
3:result:='سی';
4:result:='چهل';
5:result:='پنجاه';
6:result:='شصت';
7:result:='هفتاد';
8:result:='هشتاد';
9:result:='نود';
enD;
if result=''then ok:=false else ok:=true;
end;
{___________________________________}
function sadgan(y:byte):string;
begin
case y of
0:result:='';
1:result:='یکصد';
2:result:='دویست';
3:result:='سیصد';
4:result:='چهارصد';
5:result:='پانصد';
6:result:='ششصد';
7:result:='هفتصد';
8:result:='هشتصد';
9:result:='نهصد';
enD;
if result=''then ok:=false else ok:=true;
end;
{___________________________________}
function dah(y:byte):string;
begin
case y of
0:result:='';
10:result:='ده';
11:result:='یازده';
12:result:='دوازده';
13:result:='سیزده';
14:result:='چهارده';
15:result:='پانزده';
16:result:='شانزده';
17:result:='هفده';
18:result:='هجده';
19:result:='نوزده';
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
tr=' تریلیون';
mr=' میلیارد';
ml=' میلیون';
hz=' هزار';
begin
ok:=false;

result:=seragham(i div 1000000000000);
if ok then result:=result+tr+v;
result:=result+seragham((i mod 1000000000000)div 1000000000);
if ok then result:=result+mr+v;
result:=result+seragham((i mod 1000000000)div 1000000);
if ok then result:=result+ml+v;
result:=result+seragham((i mod 1000000)div 1000);
if ok then result:=result+hz+v;
result:=result+seragham(i mod 1000);
if not ok then result:=copy(result,1,length(result)-3);

if i=0 then result:='صفر';
end;









end.

Naficy
جمعه 15 مهر 1384, 13:43 عصر
با تشکر از کسایی که کداشونو رایگان می ذارن. یه نکته معمولا بدرد بخور در چنین برنامه هایی:
بجای تعریف تابع (مثل توابع yekan و...) از تعریف یک آرایه ثابت استفاده کنید:


const
yekan: array[0..9] of string = (
'', 'یک', 'دو', 'سه', 'چهار', 'پنج', 'شش', 'هفت', 'هشت', 'نه
);

szabeh
جمعه 15 مهر 1384, 13:50 عصر
با تشکر از {دنیای دلفی} من کد ایشان را تصحیح کردم.
البته قمست آخرش را
.
.
.
.
const
tl=' تریلیارد';
tr='تریلیون';
mr='میلیارد';
ml='میلیون';
hz=' هزار;
begin
ok:=false;

result:=seragham(i div 1000000000000000);
if ok then result:=result+tl+v;
result:=result+seragham((i mod 1000000000000000)div 1000000000000);
if ok then result:=result+tr+v;
result:=result+seragham((i mod 1000000000000)div 1000000000);
if ok then result:=result+mr+v;
result:=result+seragham((i mod 1000000000)div 1000000);
if ok then result:=result+ml+v;
result:=result+seragham((i mod 1000000)div 1000);
if ok then result:=result+hz+v;
result:=result+seragham(i mod 1000);
if not ok then result:=copy(result,1,length(result)-3);

if i=0 then result:='&Otilde;&Yacute;&Ntilde;';
end;

end.

و این هم کد کاملش

محسن شمس
شنبه 16 مهر 1384, 04:36 صبح
آقا تو روخدا یه پرژه کوچیک بسازید بعد همین کد را توش بکار ببرید

بعد اینجا آپولد کنید .

انصافا خیلی ببخشید والا من تازه واردم
یک دنیا ممنون

szabeh
شنبه 16 مهر 1384, 07:11 صبح
خیلی راحته
فایل زیر را بردار.

محسن شمس
شنبه 16 مهر 1384, 07:16 صبح
به مولا خیلی آقایی

دست بقیه هم درد نکنه

Dolphin
دوشنبه 18 مهر 1384, 20:42 عصر
آقای مهندس چیزی تو این لینک بدرد بخور نیست

Dolphin
دوشنبه 18 مهر 1384, 20:43 عصر
آقا دسته درد نکنه ؟؟؟××××!!!!