# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > VB.NET >  تبديل عدد به حروف فارسي و بلعكس

## ali_najari

سلام دوستان من قبلا يه كد از سايت گرفته بودم براي تبديل عدد به حروف ولي خوب وقتي ميخواستم ازش استفاده كنم ديدم كه كد مشكل داره و فارسي اعداد رو اشتباه بر ميگردونه واسه همين اقدام به نوشتن اين كدها كردم (ميخواستم توي وقت صرفه جويي كنم ولي تابع اي كه گرفته بودم اشتباه بود و مجبور شدم خودم بنويسم) اين تابع رو براي دوستان ميزارم كه اگر كسي نياز داشت ازش استفاده كنه

راستي اينم بگم كه دارم روي تبديل حروف فارسي به اعداد كار ميكنم و احتمال خيلي زياد تا جمعه آماده ميشه!


Private Function GetNumberString(ByVal Number As Integer) As String
        Select Case Number
            Case 1
                GetNumberString = "يك"
            Case 2
                GetNumberString = "دو"
            Case 3
                GetNumberString = "سه"
            Case 4
                GetNumberString = "چهار"
            Case 5
                GetNumberString = "پنج"
            Case 6
                GetNumberString = "شش"
            Case 7
                GetNumberString = "هفت"
            Case 8
                GetNumberString = "هشت"
            Case 9
                GetNumberString = "نه"
            Case 10
                GetNumberString = "ده"
            Case 11
                GetNumberString = "يازده"
            Case 12
                GetNumberString = "دوازده"
            Case 13
                GetNumberString = "سيزده"
            Case 14
                GetNumberString = "چهارده"
            Case 15
                GetNumberString = "پانزده"
            Case 16
                GetNumberString = "شانزده"
            Case 17
                GetNumberString = "هفده"
            Case 18
                GetNumberString = "هجده"
            Case 19
                GetNumberString = "نوزده"
            Case 20 To 29
                GetNumberString = "بيست"
            Case 30 To 39
                GetNumberString = "سي"
            Case 40 To 49
                GetNumberString = "چهل"
            Case 50 To 59
                GetNumberString = "پنجاه"
            Case 60 To 69
                GetNumberString = "شصد"
            Case 70 To 79
                GetNumberString = "هفتاد"
            Case 80 To 89
                GetNumberString = "هشتاد"
            Case 90 To 99
                GetNumberString = "نود"
            Case 100 To 199
                GetNumberString = "يكصد"
            Case 200 To 299
                GetNumberString = "دويست"
            Case 300 To 399
                GetNumberString = "سيصد"
            Case 400 To 499
                GetNumberString = "چهارصد"
            Case 500 To 599
                GetNumberString = "پانصد"
            Case 600 To 699
                GetNumberString = "ششصد"
            Case 700 To 799
                GetNumberString = "هفتصد"
            Case 800 To 800
                GetNumberString = "هشتصد"
            Case 900 To 999
                GetNumberString = "نهصد"
            Case Else
                GetNumberString = ""
        End Select
        Return GetNumberString
    End Function
    Private Function GetString(ByVal Number As Integer) As String
        Select Case Number
            Case 1
                GetString = "هزار"
            Case 2
                GetString = "ميليون"
            Case 3
                GetString = "ميليارد"
            Case 4
                GetString = "ترليون"
            Case 5
                GetString = "تلیارد"
            Case Else
                GetString = ""
        End Select
        Return GetString
    End Function
    Public Function NumToFarsi(ByVal Number As String) As String
        NumToFarsi = ""
        Dim strAux As String
        Dim strComma As String
        Dim strPeriod As String
        strPeriod = ""
        Number = Number.Replace(",", "")
        If InStr(Number, ".") > 0 Then
            strAux = Mid(Number, 1, InStr(Number, ".") - 1)
            strPeriod = Mid(Number, InStr(Number, "."))
        Else
            strAux = Number
        End If
        strComma = strAux
        strAux = ""
        While strComma.Length > 3
            strAux = "," & Mid(strComma, strComma.Length - 2, 3) & strAux
            strComma = Mid(strComma, 1, strComma.Length - 3)
        End While
        strAux = strComma & strAux & strPeriod
        If Mid(strAux, 1, 1) = "," Then strAux = Mid(strAux, 2)
        Dim SplitNumber = Split(strAux, ",")
        For i As Integer = 0 To UBound(SplitNumber)
            If CInt(SplitNumber(i)) > 19 Then
                For j As Integer = 1 To Len((SplitNumber(i)))
                    If CInt(SplitNumber(i)) > 0 Then
                        Dim Num As Integer = CInt(Mid(CInt(SplitNumber(i)), j))
                        If Num > 0 And Num <= 19 Then
                            NumToFarsi &= " و " & GetNumberString(Num)
                            Exit For
                        ElseIf Num > 19 Then
                            NumToFarsi &= " و " & GetNumberString(Num)
                        End If
                    End If
                Next j%
            ElseIf CInt(SplitNumber(i)) <= 19 And CInt(SplitNumber(i)) > 0 Then
                NumToFarsi &= " و " & GetNumberString(SplitNumber(i))
            End If
            If CInt(SplitNumber(i)) > 0 Then
                NumToFarsi &= " " & GetString(UBound(SplitNumber) - i)
            End If
        Next
        If Mid(Trim(NumToFarsi), NumToFarsi.Length - 1) = "و" Then
        End If
        If Mid(Trim(NumToFarsi), NumToFarsi.Length - 1) = "و" Then
            NumToFarsi = Mid(Trim(NumToFarsi), NumToFarsi.Length - 1)
        ElseIf Mid(Trim(NumToFarsi), 1, 1) = "و" Then
            NumToFarsi = Mid(Trim(NumToFarsi), 2)
        End If
        Return NumToFarsi
    End Function


طريقه استفاده از كدها


MsgBox(NumToFarsi(TextBox1.Text))



Module همين كد رو هم براتون Attach ميكنم

----------


## mbarnamehnevis

تبديل تا 32 كاراكتر هم سراغ داريد؟

----------


## ali_najari

> تبديل تا 32 كاراكتر هم سراغ داريد؟


سلام دوست عزيز

شرمنده واقعا ولي من تا تليارد (18 كاركتر) بيشتر بلد نبودم و نميدونستم به بعد از تليارد چي ميگن اگر شما بلديد بگيد تا من واستون كدش رو آماده كنم (البته شما ميتونيد كدهاي بالا رو كمي تغيير بديد و استفاده كنيد)

من تا اينجا بلدم بشمارم:

0- يكان و دهگان و صدگان (منظور 3 رقم اول هست)
1- هزار
2- ميليون
3- ميليارد
4-ترليون
5- ترليارد

----------


## ali_najari

دوستان کدی که گفتم تا جمعه آماده میکنم ورژن اولش رو همین امروز آماده کردم ولی خوب بازم زمان نیازه که کاملش کنم ولی همین ورژن اولش نسبتا جواب میده

موفق باشید!  :گیج:   :کف کرده!:   :خجالت:   (Ti-amo  :قلب: )




Module ConvertPersianToNumber

    Public Function GetNumberOfString(ByVal Number As String) As Integer

        Number = Replace(Number, "ي", "ي")

        If Trim(Number) <> "" Then
            Select Case Trim(Number)

                Case "صفر"
                    GetNumberOfString = 0
                Case "يک"
                    GetNumberOfString = 1
                Case "دو"
                    GetNumberOfString = 2
                Case "سه"
                    GetNumberOfString = 3
                Case "چهار"
                    GetNumberOfString = 4
                Case "پنج"
                    GetNumberOfString = 5
                Case "شش"
                    GetNumberOfString = 6
                Case "هفت"
                    GetNumberOfString = 7
                Case "هشت"
                    GetNumberOfString = 8
                Case "نه"
                    GetNumberOfString = 9
                Case "ده"
                    GetNumberOfString = 10
                Case "يازده"
                    GetNumberOfString = 11
                Case "دوازده"
                    GetNumberOfString = 12
                Case "سيزده"
                    GetNumberOfString = 13
                Case "چهارده"
                    GetNumberOfString = 14
                Case "پانزده"
                    GetNumberOfString = 15
                Case "شانزده"
                    GetNumberOfString = 16
                Case "هفده"
                    GetNumberOfString = 17
                Case "هجده"
                    GetNumberOfString = 18
                Case "نوزده"
                    GetNumberOfString = 19
                Case "بيست"
                    GetNumberOfString = 20
                Case "سي"
                    GetNumberOfString = 30
                Case "چهل"
                    GetNumberOfString = 40
                Case "پنجاه"
                    GetNumberOfString = 50
                Case "شصت"
                    GetNumberOfString = 60
                Case "هفتاد"
                    GetNumberOfString = 70
                Case "هشتاد"
                    GetNumberOfString = 80
                Case "نود"
                    GetNumberOfString = 90
                Case "يکصد"
                    GetNumberOfString = 100
                Case "دويست"
                    GetNumberOfString = 200
                Case "سيصد"
                    GetNumberOfString = 300
                Case "چهارصد"
                    GetNumberOfString = 400
                Case "پانصد"
                    GetNumberOfString = 500
                Case "ششصد"
                    GetNumberOfString = 600
                Case "هفتصد"
                    GetNumberOfString = 700
                Case "هشتصد"
                    GetNumberOfString = 800
                Case "نهصد"
                    GetNumberOfString = 900
            End Select
        End If
        Return GetNumberOfString
    End Function

    Public Function TextToNumber(ByVal [String] As String) As String

        TextToNumber = 0

        [String] = Replace([String], "ريال", "")
        [String] = Replace([String], "تومان", "")
        [String] = Replace([String], "ي", "ي")

        Dim SplitString = Split(Trim([String]), " و ")
        Dim Num As String = 0

        For i As Integer = 0 To UBound(SplitString)

            Dim Split1 = Split(Trim(SplitString(i)), " ")

            For j As Integer = 0 To UBound(Split1)

                Select Case Trim(Split1(j))

                    Case "هزار"
                        TextToNumber = Val(TextToNumber) + (Val(Num) * 1000)
                        Num = 0
                    Case "ميليون"
                        TextToNumber = Val(TextToNumber) + (Val(Num) * 1000000)
                        Num = 0
                    Case "ميليارد"
                        TextToNumber = Val(TextToNumber) + (Val(Num) * 1000000000)
                        Num = 0
                    Case "ترليون"
                        TextToNumber = Val(TextToNumber) + (Val(Num) * 1000000000000)
                        Num = 0
                    Case "ترليارد"
                        TextToNumber = Val(TextToNumber) + (Val(Num) * 1000000000000000)
                        Num = 0
                    Case Else

                        If i = UBound(SplitString) And j = UBound(Split1) Then
                            Num = Val(Num) + Val(GetNumberOfString(Split1(j)))
                            TextToNumber = Val(TextToNumber) + Val(Num)
                            Num = 0
                        Else
                            Num = Val(Num) + Val(GetNumberOfString(Split1(j)))
                        End If

                End Select

            Next
        Next

        Return TextToNumber
    End Function

End Module

----------


## Mani_rf

> سلام دوست عزيز
> 
> شرمنده واقعا ولي من تا تليارد (18 كاركتر) بيشتر بلد نبودم و نميدونستم به بعد از تليارد چي ميگن اگر شما بلديد بگيد تا من واستون كدش رو آماده كنم (البته شما ميتونيد كدهاي بالا رو كمي تغيير بديد و استفاده كنيد)
> 
> من تا اينجا بلدم بشمارم:
> 
> 0- يكان و دهگان و صدگان (منظور 3 رقم اول هست)
> 1- هزار
> 2- ميليون
> ...


ترتیب این اعداد به این گونه است:

میلیون
میلیارد
بیلیون 
تریلیون
کوادریلیون
کوینتیلیون
سیکستیلیون
سپتیلیون
اکتیلیون 
نونیلیون
دسیلیون و... .

 :قهقهه: 

بقیشم بگم؟

( این الگوحدود سال 1484میلادی به وسیله نیکولاس چاکوئت (1488-1445Nicolas Chuquet) که اولین فرد فرانسوی نویسنده مقاله ی جبری بود، ابداع شد. چاکوئت برای نام گذاری آن سری از اعداد بزرگ که توان هایی از 10هستند از000/1000 شروع کرد و آن را میلیون نامید. سپس توان های متوالی میلیون را به صورت 10 یا همان 1000000 مرتب نمود و به گونه ای که در ستون سمت راست جدول زیرمشاهده می کنید نام گذاری کرد.هرچند که با گذرایام موضوع به همین سادگی باقی نماند. درقرن هفدهم، تعدادی از ریاضیدانان با نفوذ فرانسوی تصمیم گرفتند ازهمان نام ها برای نشان دادن توان های متوالی1000 یعنی 10یاهمان 1000 به گونه ای که در ستون وسط جدول زیر مشاهده می شود استفاده کنند.)

منبع : http://www.997.blogfa.com/post-19.aspx

----------


## ali_najari

> ترتیب این اعداد به این گونه است:
> 
> میلیون
> میلیارد
> بیلیون 
> تریلیون
> کوادریلیون
> کوینتیلیون
> سیکستیلیون
> ...


 
سلام ماني جان

از زحماتت ممنونم ولي خوب اين چيزي كه شما گذاشتيد توي رياضيات هست و توي عاميانه چنين چيز هايي رو نميگن و ما ميخوايم برنامه واسه بيان مبلغ باشه پس نميتونيم بصورت رياضي نشون بديم اون متني كه من نوشتم چيزيست كه توي زبان عاميانه 80% افراد بيان ميكنن

----------


## mansourii

> ترتیب این اعداد به این گونه است:
> 
> میلیون
> میلیارد
> بیلیون 
> تریلیون
> کوادریلیون
> کوینتیلیون
> سیکستیلیون
> ...


 
به نظر من اين موضوع اعداد اصلا خندار نيست!
اين بنده خدا داره يكي كه گرفتار شده رو راهنمايي ميكنه و اين جايز نيست كه بخاطر مسائل بيهوده از كسي غلط املايي بگيره!

از اين كار  شما واقا متاثر شدم! و برام مبهم %^
تو اين بخش اكثرا ليسانس به بالا هستند و اين كار شما زير ديپلم بود.

----------


## Mani_rf

> به نظر من اين موضوع اعداد اصلا خندار نيست!


چی خنده دار نیست؟





> اين بنده خدا داره يكي كه گرفتار شده رو راهنمايي ميكنه


کی گرفتار شده و این بنده خدا داره راهنماییش میکنه؟




> و اين جايز نيست كه بخاطر مسائل بيهوده از كسي غلط املايي بگيره!


کجا غلط املایی گرفتم؟




> از اين كار شما واقا متاثر شدم! و برام مبهم %^
> تو اين بخش اكثرا ليسانس به بالا هستند و اين كار شما زير ديپلم بود.


کدوم کار؟ این که تحقیق کردم و واحد های بزرگتر را هم برای این دوستمون پیدا کردم و در اختیارش گذاشتم!!!؟؟؟

ببین دوست عزیز این دوستمون یک برنامه گذاشت و یکی از کاربران از او پرسید که :



> تبديل تا 32 كاراكتر هم سراغ داريد؟


پاسخ ایجاد کننده بحث هم این بود که :



> شرمنده واقعا ولي من تا تليارد (18 كاركتر) بيشتر بلد نبودم و نميدونستم به بعد از تليارد چي ميگن اگر شما بلديد بگيد تا من واستون كدش رو آماده كنم


من هم ترتیب واحد های بزرگ را برای ایشون نوشتم تا در صورت نیاز بتونن تو برنامشون استفاده کنند. حال ایراد این کار کجا بود؟
اموآیکن خنده هم برای این بود که با توجه به اینکه تقریبا همه ما فکر میکنیم که ترلیارد آخرین واحد مورد استفاده است اما واحد های بزرگتری هم وجود دارد.

درضمن : *اگر میخواستم* از ایشون به قول شما *غلط املایی بگیرم* می توانستم بهشون بگم که روشی که دارید استفاده میکنید کاملا غلاطه، ایشون می توانستدن با 20 خط کد و با استفاده از یک فرمول لوگاریتم ساده همین تابع را بنویسند که به مراتب سریع تر و قابل گسترش تر هست.

----------


## mansourii

> چی خنده دار نیست؟
> 
> 
> 
> کی گرفتار شده و این بنده خدا داره راهنماییش میکنه؟
> 
> 
> کجا غلط املایی گرفتم؟
> 
> ...


 
! گل پسر (شايدم گل دختر) 
اولا اينكه مديري احترامت بر ما واجب .
دوما شما اگه خيلي وارد بوديد خودتون جواب اون بنده خدا رو مي داديد و اعداد رياضي رو شمارش نميكردي
 سوما اگه مي بيني امثال اين آقا و امثال اين آقا  ميان جواب اعضا رو  ميدن بنابر اين نيست كه بي كارن و الكي تو سايت چرخ مي زنن! به اين علته كه مي خوان اگه كسي مشكلي داره كمكشون كنن.
من فقط از اين نارحت شدم كه شما ديگه چرا بايد اين حرف رو بزني! اگه كسي بود كه مدير نبود ، كار بلد نبود ، دفعه هاي اولش بود يه چيزي، اما از شما توقع داشتيم
بعدشم چرا انقدر زود بهت بر ميخوره و قهر ميكني؟؟ :متفکر:

----------


## Mani_rf

> ! گل پسر (شايدم گل دختر) 
> اولا اينكه مديري احترامت بر ما واجب .


من هم بی احترامی نکردم ، جواب نوشته شما را دادم اما شما جواب سوال های من رو ندادی...




> دوما شما اگه خيلي وارد بوديد خودتون جواب اون بنده خدا رو مي داديد و اعداد رياضي رو شمارش نميكردي


اصولا کار خوبی نیست آدم تو تاپیک آموزشی که کس دیگه ایجاد کرده دخالت بکنه برای همین من خودم جواب اون بنده خدا را ندادم و با توجه به پاسخ ایجاد کننده یک سرنخ بهش دادم که خودش جواب بده.
دوست عزیز اگر من می خواستم اطلاعاتم را به رخ کسی بکشم هیچوقت نمیومدم پای نوشتم رفرنس بدم و منبع ذکر کنم. وظیفه من اینه که به دیگران کمک کنم و سعی کنم تا جایی که می توانم اطلاعات اونها را زیاد کنم، حال اگر یکم هم خارج از زمینه برنامه نویسی و در زمینه های مرتبط باشه به جایی بر نمیخوره.




> سوما اگه مي بيني امثال اين آقا و امثال اين آقا ميان جواب اعضا رو ميدن بنابر اين نيست كه بي كارن و الكي تو سايت چرخ مي زنن! به اين علته كه مي خوان اگه كسي مشكلي داره كمكشون كنن.


من هم همچین چیزی نگفتم، بله همه کار دارند، همه از جمله خود من به کمک کردن به دیگران علاقه داریم که اینجا هستیم. مطمعنا شما هم همینطورید.




> من فقط از اين نارحت شدم كه شما ديگه چرا بايد اين حرف رو بزني! اگه كسي بود كه مدير نبود ، كار بلد نبود ، دفعه هاي اولش بود يه چيزي، اما از شما توقع داشتيم


من چه حرف بدی زدم که شما را ناراحت کرد؟ ترتیب و ادامه اعداد را گفتم. این ناراحت کننده است؟
آیکن خنده را هم گفتم برای چی گذاشتم، نگفتم!

راستی که نگاهی به اون پاسخ که ازش خوشت نیومده بی انداز...
یک تشکر پای تاپیک خورده از طرف ایجاد کننده تاپیک که نشون دهده این است که نتها به او برنخورده بلکه برای اون مفید هم بوده.





> بعدشم چرا انقدر زود بهت بر ميخوره و قهر ميكني؟؟


از این جمله هم اصلا خوشم نیومد.

----------


## ali_najari

دوستان خواهشآ دعوا نكنيد

بابا سعي كنيد به هم كمك كنيد نه از حرف هاي هم ايراد بگيريد

بخدا من بهم بر نخورده
من خوشحالم ميشم كسي بهم ايراداتم رو بگه و كمكم كنه براي بهبود بهتر

----------


## mansourii

> من هم بی احترامی نکردم ، جواب نوشته شما را دادم اما شما جواب سوال های من رو ندادی...
> 
> 
> اصولا کار خوبی نیست آدم تو تاپیک آموزشی که کس دیگه ایجاد کرده دخالت بکنه برای همین من خودم جواب اون بنده خدا را ندادم و با توجه به پاسخ ایجاد کننده یک سرنخ بهش دادم که خودش جواب بده.
> دوست عزیز اگر من می خواستم اطلاعاتم را به رخ کسی بکشم هیچوقت نمیومدم پای نوشتم رفرنس بدم و منبع ذکر کنم. وظیفه من اینه که به دیگران کمک کنم و سعی کنم تا جایی که می توانم اطلاعات اونها را زیاد کنم، حال اگر یکم هم خارج از زمینه برنامه نویسی و در زمینه های مرتبط باشه به جایی بر نمیخوره.
> 
> 
> من هم همچین چیزی نگفتم، بله همه کار دارند، همه از جمله خود من به کمک کردن به دیگران علاقه داریم که اینجا هستیم. مطمعنا شما هم همینطورید.
> 
> ...


احسنت . فكر كنم اشتباه از منه. 



> راستی که نگاهی به اون پاسخ که ازش خوشت نیومده بی انداز...
> یک تشکر پای تاپیک خورده از طرف ایجاد کننده تاپیک که نشون دهده این است که نتها به او برنخورده بلکه برای اون مفید هم بوده.


** برام جالبه . اينطور فكر ميكنم كه نبايد زياد طرف كسي رو بگيري ! درسته؟ **
به هر حال اگه شما رو ناراحت كردم پوزش مي خوام

(( از اينكه با دوستانم Main_rf , نجاري آشنا شدم خوشحالم ))

انشااله در همه كارهاتون موفق باشيد

----------


## Mani_rf

> احسنت . فكر كنم اشتباه از منه. 
> 
> 
> ** برام جالبه . اينطور فكر ميكنم كه نبايد زياد طرف كسي رو بگيري ! درسته؟ **
> به هر حال اگه شما رو ناراحت كردم پوزش مي خوام
> 
> (( از اينكه با دوستانم Main_rf , نجاري آشنا شدم خوشحالم ))
> 
> انشااله در همه كارهاتون موفق باشيد


ما همه اینجا باهم دوست هستیم و دوستانه مشکلات کوچک و بزرگمان را مطرح و به کمک هم حل می نماییم. اگر قرار باشد که ایراد گرفتن از کار هم و یا گوشزد کردن برخی نکات موجب ناراحتی مان شود هرگز نمی توانیم پیشرفت کنیم. مطمعن باشید ایجا جمع کاربران اینقدر صمیمی است که کسی با منظور حرفی را نزند. همه باهم دوستیم و شما هم به جمع کوچک دوستانه ما خوش آمدی دوست عزیز...

----------


## parsaid

دوستان فکر میکنم سورس بالا مشکل داره، مثلاً عدد 10830000 رو نمیتونه به حروف تبدیل کنه؟؟!؟؟؟

----------


## Faezeh72

سلام.من یه پروژه درباره تبدیل اعداد به حروف فارسی حداکثر تا 12 رقم به زبان C++‎دارم.زیاد به این زبان آشنایی ندارم و وقت  خیلی کمی هم دارم.اگه سورسشو  به زبان ساده واسم بنویسیدخیلی خیلی ممنون میشم.

----------


## ساران سافت

> سلام دوستان من قبلا يه كد از سايت گرفته بودم براي تبديل عدد به حروف ولي خوب وقتي ميخواستم ازش استفاده كنم ديدم كه كد مشكل داره و فارسي اعداد رو اشتباه بر ميگردونه واسه همين اقدام به نوشتن اين كدها كردم (ميخواستم توي وقت صرفه جويي كنم ولي تابع اي كه گرفته بودم اشتباه بود و مجبور شدم خودم بنويسم) اين تابع رو براي دوستان ميزارم كه اگر كسي نياز داشت ازش استفاده كنه
> 
> راستي اينم بگم كه دارم روي تبديل حروف فارسي به اعداد كار ميكنم و احتمال خيلي زياد تا جمعه آماده ميشه!
> 
> Module همين كد رو هم براتون Attach ميكنم


.

این کد شما روی بعضی از اعداد خطا میده مثلا 12050 رو نمی تونه تبدیل کنه
Conversion from string "" to type 'Integer' is not valid.

----------


## ali reza mansoori 2

دوستان این کد رو از همین سایت دانلود کردم و نمیدونم کی نوشته
ولی تا عدد گوگول پلکس پلکس :لبخند گشاده!:  تبدیل میکنه

----------


## mehdi_jazini

> سلام دوستان من قبلا يه كد از سايت گرفته بودم براي تبديل عدد به حروف ولي خوب وقتي ميخواستم ازش استفاده كنم ديدم كه كد مشكل داره و فارسي اعداد رو اشتباه بر ميگردونه واسه همين اقدام به نوشتن اين كدها كردم (ميخواستم توي وقت صرفه جويي كنم ولي تابع اي كه گرفته بودم اشتباه بود و مجبور شدم خودم بنويسم) اين تابع رو براي دوستان ميزارم كه اگر كسي نياز داشت ازش استفاده كنه
> 
> راستي اينم بگم كه دارم روي تبديل حروف فارسي به اعداد كار ميكنم و احتمال خيلي زياد تا جمعه آماده ميشه!
> 
> 
> Private Function GetNumberString(ByVal Number As Integer) As String
>         Select Case Number
>             Case 1
>                 GetNumberString = "يك"
> ...


با سلام
و با تشکر از کدی که نوشتید
در محل کارم خیلی من کمک کرد
یک کمی هم آپگریدش کردم
خلاصه کلی دعا گوتونم
بهرحال اومدم اینجا تا این مسئله رو بگم:
کدتون در یکی از خطوطش ایراد داشت.
لطفا هر کسی که می خواد از این کد استفاده کنه، برای اینکه با تبدیل عدد هشتصد مشکل پیدا نکنه خط:

Case 800 To 800

رو به

Case 800 To 899

تغییر بده

باز هم تشکر می کنم

و خدانگهدار

----------


## leilaalavi44@gmail.com

هفت میلیون و 48 هزار تومن

----------

