NumToText3 Fonksiyonu

Tanım


Verilen verilen nümerik bilgiyi, belirli bir dilde yazıya çevirir.

Ondalıklı sayıların çevriminde, ondalık işareti olarak araya yüzde işareti (%) ilave edilir. Ondalık kısmın kaç hanesinin dikkate alınacağı fonksiyona söylenir. Yazıya çevrilen rakamların arasında boşluk bırakılmaz.

Kullanım Şekli


Değişken = Document.NumToText3(NümerikBilgi, BasamakSayısı, Dil)

Ana Nesne


Document (Doc) nesnesinin elemanıdır. Bir doküman nesnesi ile kullanılmak zorundadır.

Parametreler


Parametre

Açıklama

NümerikBilgi

Yazıya çevrilecek sayısal veya metinsel olabilen nümerik bilgi. Metinsel bilgiden kasıt, text formatındaki nümerik karakterlerden oluşan bilgidir. Fonksiyon için; 1200.30, “1200.30” ve “1,200.30” aynı bilgidir.

BasamakSayısı

Çevrilmesini istediğimiz ondalık kısmın basamak sayısı. Tam sayı cinsinden değerdir. Sıfır (0) veya sıfırdan büyük değer girilmelidir. Negatif sayılarda basamak sayısı 2 (iki) kabul edilir.


Eğer sayının sahip olduğu ondalık kısmın basamak sayısından daha büyük bir değer girilirse, çevrim esnasında ondalık sayının sonuna fark kadar 0 (sıfır) ilave edilir.

Dil

Ortaya çıkan yazı hangi dile çevrilecek. Fonksiyon şu anda 3 dil bilmektedir. Bunların parametre değerleri aşağıdadır:

“T” : Türkçe; ondalık işareti olarak “%” kullanılır.

“E” : İngilizce; ondalık işareti olarak “Point” kelimesi kullanılır.

“B” : İngiliz İngilizcesi; ondalık işareti kullanılmaz.

Diğer değerlerde ise parametre değeri “T” Türkçe kabul edilir

Geri Dönen Değerler


Verilen sayının yazıya dönüştürülmüş halini, karakter dizini şeklinde geri döner. Bir değişkene atanarak kullanılmalıdır.

Hatırlatmalar


Metinsel bilgilerde, tırnak ve binlik ayıraç olan virgüller dikkate alınmaz.

Fonksiyon ondalıklı sayılarda, ondalık kısmın hane sayısına göre yuvarlama yapmaz.

Sayı olarak 0 (Sıfır) değerinde, boş bilgi geri dönülür.

Dil “T” Türkçe seçilirse NumToText2 fonksiyonu ile aynı işlevi görür.

Örnek


Sub Makro1()

       Sayi = 23845.587

       Mesaj = "NumToText3(" & Sayi & ",2,""T"") fonksiyonun sonucu aşağıdadır."

       Mesaj = Mesaj & chr(13) & Doc.NumToText3(Sayi,2,"T")

       Mesaj = Mesaj & chr(13) & "NumToText3(" & Sayi & ",2,""E"") fonksiyonun sonucu aşağıdadır."

       Mesaj = Mesaj & chr(13) & Doc.NumToText3(Sayi,2,"E")

       Mesaj = Mesaj & chr(13) & "NumToText3(" & Sayi & ",2,""B"") fonksiyonun sonucu aşağıdadır."

       Mesaj = Mesaj & chr(13) & Doc.NumToText3(Sayi,2,"B")        

        Doc.MsgBox Mesaj

End Sub




Yukarıdaki örnekte, aynı nümerik bilginin 3 (üç) farklı dilde yazı ile gösterilmesi istenmiştir. Aşağıdaki mesaj kutusunda ise örneğin sonucu gösterilmiştir. “E” İngilizce seçeneğinde ondalık işareti olarak “Point”  kelimesi kullanılmıştır. “B” İngiliz İngilizcesi arasındaki fark sadece budur.



Paylaşım Makrosu