"Sayıları Yazıya Çevirmek" sayfasının sürümleri arasındaki fark
k (Dennisroczek Sayıları okumak (-123,4 = Eksi YüzYirmiÜç Nokta Dört) sayfasını Sayıları Yazıya Çevirmek sayfasına taşıdı: history merge) |
(restore newer version after history merge) |
||
1. satır: | 1. satır: | ||
− | {{ | + | {{calc}} |
− | + | ||
+ | =Sayıları Yazıya Çevirmek= | ||
− | + | LibreOffice Calc programında özellikle muhasebe ve finans alanında ihtiyaç duyulan, "sayıları yazı ile okuma" işlemini, LibreOffice Basic ile yapabiliriz. | |
Bunun için yapmanız gerekenler sırasıyla; | Bunun için yapmanız gerekenler sırasıyla; | ||
− | * '''Araçlar''' --> '''Makrolar''' --> '''Makroları | + | * '''Araçlar''' --> '''Makrolar''' --> '''Makroları Yönet''' --> '''LibreOffice Basic''' yolunu izleyerek Makroların listesini açın. |
* Ekrana gelen diyalog kutusundan sırasıyla '''Makrolarım''' --> '''Standard''' --> '''Module1''' seçin. | * Ekrana gelen diyalog kutusundan sırasıyla '''Makrolarım''' --> '''Standard''' --> '''Module1''' seçin. | ||
− | * '''Düzenle''' butonuna basarak | + | * '''Düzenle''' butonuna basarak LibreOffice Basic editörünü çalıştırın. |
* Aşağıdaki kodu editörünüze girin. | * Aşağıdaki kodu editörünüze girin. | ||
124. satır: | 124. satır: | ||
* '''Kaydet''' butonuna basarak editörü kapatın. | * '''Kaydet''' butonuna basarak editörü kapatın. | ||
− | * | + | * LibreOffice Calc programında herhangi bir hücreye aşağıdaki formülü girin |
=SAYIOKU(-123,4) | =SAYIOKU(-123,4) | ||
* Sonuç olarak '''Eksi YüzYirmiÜç Nokta Dört''' yazdığını göreceksiniz. | * Sonuç olarak '''Eksi YüzYirmiÜç Nokta Dört''' yazdığını göreceksiniz. | ||
130. satır: | 130. satır: | ||
==Programın ihtiyaca göre düzenlenmesi== | ==Programın ihtiyaca göre düzenlenmesi== | ||
+ | |||
Sayı okuma işlemini yapan kodları incelediğinizde sizde kendi ihtiyaçlarınıza göre gerekli değişiklikleri yapabilirsiniz. | Sayı okuma işlemini yapan kodları incelediğinizde sizde kendi ihtiyaçlarınıza göre gerekli değişiklikleri yapabilirsiniz. | ||
138. satır: | 139. satır: | ||
Const OndalikHaneSayisi=2 | Const OndalikHaneSayisi=2 | ||
− | Burada 2 rakamı programa, virgülden sonraki kısmın ilk iki basamağını dikkate alması gerektiğini belirtir. | + | Burada 2 rakamı programa, virgülden sonraki kısmın ilk iki basamağını dikkate alması gerektiğini belirtir.<br> |
− | + | Bu sayede siz sayı olarak '''123,4''' verdiğinizde sonuç '''YüzYirmiÜç Nokta Kırk''' olacaktır.<br> | |
− | Bu sayede siz sayı olarak '''123,4''' verdiğinizde sonuç '''YüzYirmiÜç Nokta Kırk''' olacaktır. | + | Aynı şekilde siz sayı olarak '''123,423''' verdiğinizde de sonuç '''YüzYirmiÜç Nokta Kırkİki''' olacaktır.<br> |
− | + | ||
− | Aynı şekilde siz sayı olarak '''123,423''' verdiğinizde de sonuç '''YüzYirmiÜç Nokta Kırkİki''' olacaktır. | + | |
− | + | ||
==Programın sınırları== | ==Programın sınırları== | ||
+ | |||
* Okunabilecek en büyük sayı 999 Trilyon 999 Milyar 999 Milyon 999 Bin 999 | * Okunabilecek en büyük sayı 999 Trilyon 999 Milyar 999 Milyon 999 Bin 999 | ||
* Negatif Sayıları okuyabilir | * Negatif Sayıları okuyabilir | ||
177. satır: | 176. satır: | ||
</pre> | </pre> | ||
− | Sonuç, | + | Sonuç, <b>YüzYirmiÜç Lira KırkBeş Kuruş</b> olur. |
Makro, iki haneden uzun ondalıkları ilk 2 haneye yuvarlar. | Makro, iki haneden uzun ondalıkları ilk 2 haneye yuvarlar. | ||
− | + | ||
+ | |||
+ | ==Katkı Verenler== | ||
+ | |||
+ | * Hakan HAMURCU 03:56, 9 Kasım 2008 (MSK) | ||
+ | * Süha Aktan 16:12, 1 Nisan 2009 (MSK) | ||
+ | |||
+ | |||
+ | [[Kategori: Taslak]] | ||
+ | [[Kategori: Calc]] | ||
+ | [[Kategori: Nasıl]] | ||
+ | [[Kategori: Eskiwikiden Göç]] |
14:34, 17 Kasım 2018 tarihindeki hâli
Writer | Calc | Impress | Base | Draw | Math |
Konu başlıkları
Sayıları Yazıya Çevirmek
LibreOffice Calc programında özellikle muhasebe ve finans alanında ihtiyaç duyulan, "sayıları yazı ile okuma" işlemini, LibreOffice Basic ile yapabiliriz.
Bunun için yapmanız gerekenler sırasıyla;
- Araçlar --> Makrolar --> Makroları Yönet --> LibreOffice Basic yolunu izleyerek Makroların listesini açın.
- Ekrana gelen diyalog kutusundan sırasıyla Makrolarım --> Standard --> Module1 seçin.
- Düzenle butonuna basarak LibreOffice Basic editörünü çalıştırın.
- Aşağıdaki kodu editörünüze girin.
Function SAYIOKU( ByVal Sayi As Double ) As String Const OndalikHaneSayisi=1 Yazi = "" If Sayi < 0 Then Yazi = "Eksi " + SAYIOKU( -1 * Sayi ) ElseIf Sayi <> Int( Sayi ) Then Yazi = SAYIOKU( Int( Sayi ) ) + " Nokta " OndalikKisim = Sayi - Int( Sayi ) OndalikKisim = Int(OndalikKisim * 10^OndalikHaneSayisi ) / 10^OndalikHaneSayisi Do OndalikKisim = OndalikKisim * 10^OndalikHaneSayisi HaneDegeri = Int(OndalikKisim) OndalikKisim = OndalikKisim - HaneDegeri If HaneDegeri > 0 Then HaneYazisi = SAYIOKU(HaneDegeri) Yazi = Yazi + HaneYazisi Else Exit Do EndIf Loop ElseIf Sayi < 10 Then Select Case Sayi Case 0: Yazi = "" Case 1: Yazi = "Bir" Case 2: Yazi = "İki" Case 3: Yazi = "Üç" Case 4: Yazi = "Dört" Case 5: Yazi = "Beş" Case 6: Yazi = "Altı" Case 7: Yazi = "Yedi" Case 8: Yazi = "Sekiz" Case 9: Yazi = "Dokuz" End Select ElseIf Sayi < 100 Then Onluk = Int( Sayi / 10 ) Birlik = Sayi Mod 10 Select Case Onluk * 10 Case 10: Yazi = "On" Case 20: Yazi = "Yirmi" Case 30: Yazi = "Otuz" Case 40: Yazi = "Kırk" Case 50: Yazi = "Elli" Case 60: Yazi = "Altmış" Case 70: Yazi = "Yetmiş" Case 80: Yazi = "Seksen" Case 90: Yazi = "Doksan" End Select If Birlik > 0 Then Yazi = Yazi + SAYIOKU( Birlik ) EndIf ElseIf Sayi < 1E+3 Then Yuzluk = Int( Sayi / 1E+2 ) HaneDegeri = Sayi Mod 1E+2 If Yuzluk=1 Then Yazi = "Yüz" Else Yazi = SAYIOKU( Yuzluk ) + "Yüz" EndIf Yazi = Yazi + SAYIOKU( HaneDegeri ) ElseIf Sayi < 1E+6 Then Binlik = Int( Sayi / 1E+3 ) HaneDegeri = Sayi Mod 1E+3 If Binlik=1 Then Yazi="Bin" Else Yazi = SAYIOKU( Binlik ) + "Bin" EndIf If HaneDegeri > 0 Then Yazi = Yazi + SAYIOKU( HaneDegeri ) EndIf ElseIf Sayi < 1E+9 Then Milyonluk = Int( Sayi / 1E+6 ) HaneDegeri = Int( Sayi-( Int( Sayi / 1E+6 ) * 1E+6 ) ) Yazi = SAYIOKU( Milyonluk ) + "Milyon" If HaneDegeri > 0 Then Yazi = Yazi + SAYIOKU( HaneDegeri ) EndIf ElseIf Sayi < 1E+12 Then Milyarlik = Int( Sayi / 1E+9 ) HaneDegeri = Int( Sayi-( Int( Sayi / 1E+9 ) * 1E+9 ) ) Yazi = SAYIOKU( Milyarlik ) + "Milyar" If HaneDegeri > 0 Then Yazi = Yazi + SAYIOKU( HaneDegeri ) EndIf ElseIf Sayi < 1E+15 Then Trilyonluk = Int( Sayi / 1E+12 ) HaneDegeri = Int( Sayi-( Int( Sayi / 1E+12 ) * 1E+12 ) ) Yazi = SAYIOKU( Trilyonluk ) + "Trilyon" If HaneDegeri > 0 Then Yazi = Yazi + SAYIOKU( HaneDegeri ) EndIf EndIf SAYIOKU() = Yazi End Function
- Kaydet butonuna basarak editörü kapatın.
- LibreOffice Calc programında herhangi bir hücreye aşağıdaki formülü girin
=SAYIOKU(-123,4)
- Sonuç olarak Eksi YüzYirmiÜç Nokta Dört yazdığını göreceksiniz.
Programın ihtiyaca göre düzenlenmesi
Sayı okuma işlemini yapan kodları incelediğinizde sizde kendi ihtiyaçlarınıza göre gerekli değişiklikleri yapabilirsiniz.
Okunmasını istediğiniz ondalık hane sayısını kod'un 2. satırındaki Const değerini değiştirerek yapabilirsiniz.
Örneğin;
Const OndalikHaneSayisi=2
Burada 2 rakamı programa, virgülden sonraki kısmın ilk iki basamağını dikkate alması gerektiğini belirtir.
Bu sayede siz sayı olarak 123,4 verdiğinizde sonuç YüzYirmiÜç Nokta Kırk olacaktır.
Aynı şekilde siz sayı olarak 123,423 verdiğinizde de sonuç YüzYirmiÜç Nokta Kırkİki olacaktır.
Programın sınırları
- Okunabilecek en büyük sayı 999 Trilyon 999 Milyar 999 Milyon 999 Bin 999
- Negatif Sayıları okuyabilir
- Ondalık hanesini okur (Siz değiştirmediğiniz sürece virgülden sonra 1 hane)
Lira ve Kuruş Olarak Yazmak
Sayıları yazıyla göstermeye çoğunlukla fatura gibi parasal işlemlerde ihtiyaç duyulacağı için aşağıdaki makroyu kullanabilirsiniz. Bu makro yukarıdaki SAYIOKU makrosunu çağırır.
Function YAZIYLA(ByVal Sayi as Double) as String Dim OndalikKisim as Integer Dim Lira, Kurus as String Lira = SAYIOKU( Int( Sayi ) ) + " Lira" Kurus = "" If Sayi <> Int( Sayi ) Then OndalikKisim = Int(Sayi*100 - Int(Sayi)*100) Kurus = " " + SAYIOKU(OndalikKisim) + " Kuruş" EndIf YAZIYLA = Lira + Kurus End Function
YAZIYLA fonksiyonunu SAYIOKU fonksiyonunu ile aynı yere kopyalayın ve aşağıdaki formülü bir hücreye girin:
=YAZIYLA(123,45)
Sonuç, YüzYirmiÜç Lira KırkBeş Kuruş olur.
Makro, iki haneden uzun ondalıkları ilk 2 haneye yuvarlar.
Katkı Verenler
- Hakan HAMURCU 03:56, 9 Kasım 2008 (MSK)
- Süha Aktan 16:12, 1 Nisan 2009 (MSK)