wmaraci reklam
lidertakipci

Milyon Yazdırma

14 Mesajlar 1.606 Okunma
advertseo
wmaraci reklam

samedkundak samedkundak WM Aracı Kullanıcı
  • Üyelik 01.09.2014
  • Yaş/Cinsiyet 32 / E
  • Meslek kimya mühendisi
  • Konum Çorum
  • Ad Soyad S** K**
  • Mesajlar 63
  • Beğeniler 1 / 1
  • Ticaret 0, (%0)
Merhabalar.
Amacım veritabanındaki 12.589.652 sayısını 12.5 Mn şeklinde yazdırmak.

Bunun mantığı nedir nasıl birşey yapabilirim? Yardımcı olacak arkadaşlara şimdiden teşekkürler.
 

 

http://www.neredenalmalı.com/
wmaraci
reklam

SizofrenikDev SizofrenikDev WM Aracı Kullanıcı
  • Üyelik 05.10.2016
  • Yaş/Cinsiyet 37 / E
  • Meslek Yazılım Uzmanı
  • Konum İstanbul Avrupa
  • Ad Soyad H** B**
  • Mesajlar 187
  • Beğeniler 8 / 49
  • Ticaret 2, (%100)
Eğer mantık soruyorsan,

rakamın basamak sayısına göre çalışan bir fonksiyonun olmalı, ve her rakam için basamak bazında çalışan bir fonksiyon daha olmalı. Tek fonksiyonda da çözülebilir.

Hangi dil ile kod yazdığını bilmiyorum ama, google search => "Rakamı yazıya çevirme" yaparsan işine yarayan yada yol gösterecek birşeyler bulacağından eminim
 

 

gokrtl gokrtl mekatronik.org Kullanıcı
  • Üyelik 11.11.2016
  • Yaş/Cinsiyet 40 / E
  • Meslek Özel Güvenlik Görevlisi
  • Konum Antalya
  • Ad Soyad G** K**
  • Mesajlar 122
  • Beğeniler 19 / 24
  • Ticaret 0, (%0)
Bu kategori de konu açtığına göre php dilini kullandığını var sayıyorum. Aşağıdaki kod ile istediğin rakamın ilk 4 hanesini alabilirsin
$uzun = "12.567.678";
$kisa = Substr($uzun, 0,3);
echo $kisa;
 

 

www.mekatronik.org/forum

HelloWorld01 HelloWorld01 WM Aracı Kullanıcı
  • Üyelik 19.02.2017
  • Yaş/Cinsiyet 28 / E
  • Meslek Webmaster
  • Konum İzmir
  • Ad Soyad S** G**
  • Mesajlar 532
  • Beğeniler 159 / 159
  • Ticaret 1, (%100)
Bunu kullandığınız dil ile yapabilirsiniz. Eğer PHP kullanıyorsanız verdiğim kod ile ilk önce sayıyı "number_format" ile basamaklarına ayırıp ardından bu basamakları "explode" ile bölüp istediğimiz kısmı aldıktan sonra yazdırabilirsiniz. Ayrıca binlik olarak da yazdırmak isterseniz sayınızın büyüklüğü "if" ile kontrol edip ona göre bölünen sayının yanına "B" olarak da yazdırmak mümkün.

Not: Bunu "substr" fonksiyonu ile yaparsanız stabil olmayacaktır. Çünkü substr fonksionu, sayı büyüklüğü ne olursa olsun her zaman ilk hanelerini alacak. Bu da pek kabul edilebilecek bir durum değildir.


$sayi = 12589652;
$mn = number_format($sayi, 2, '.', ',');
$bol = explode(',',$mn);
echo $bol[0] . " Mn";
?>


İyi çalışmalar.
 

 

wmaraci
wmaraci

samedkundak samedkundak WM Aracı Kullanıcı
  • Üyelik 01.09.2014
  • Yaş/Cinsiyet 32 / E
  • Meslek kimya mühendisi
  • Konum Çorum
  • Ad Soyad S** K**
  • Mesajlar 63
  • Beğeniler 1 / 1
  • Ticaret 0, (%0)
Cevaplarınız için teşekkürler fakat öncelikle sayının kaç hane olduğunu bulmam ondan sonra kısaltmam ve yazıya çevirmem gerek.Veritabanındaki her verinin değeri milyon değil.Mantığımda şu var for ile bir döngüde hane sayısını bulup if ile bu sayıya göre kalıplara sığdırabilir miyim?
 

 

http://www.neredenalmalı.com/

HelloWorld01 HelloWorld01 WM Aracı Kullanıcı
  • Üyelik 19.02.2017
  • Yaş/Cinsiyet 28 / E
  • Meslek Webmaster
  • Konum İzmir
  • Ad Soyad S** G**
  • Mesajlar 532
  • Beğeniler 159 / 159
  • Ticaret 1, (%100)

Cevaplarınız için teşekkürler fakat öncelikle sayının kaç hane olduğunu bulmam ondan sonra kısaltmam ve yazıya çevirmem gerek.Veritabanındaki her verinin değeri milyon değil.Mantığımda şu var for ile bir döngüde hane sayısını bulup if ile bu sayıya göre kalıplara sığdırabilir miyim?


Verdiğim kod içinde number_format fonksiyonu zaten sayı basamaklarını bulup ayırabiliyor. Sizin ek olarak sadece sayı bin basamağında mı yoksa milyon basamağında mı diye kontrol etmeniz gerek. Eğer isterseniz onuda yazabilirim.
 

 

samedkundak samedkundak WM Aracı Kullanıcı
  • Üyelik 01.09.2014
  • Yaş/Cinsiyet 32 / E
  • Meslek kimya mühendisi
  • Konum Çorum
  • Ad Soyad S** K**
  • Mesajlar 63
  • Beğeniler 1 / 1
  • Ticaret 0, (%0)
bin milyon trilyon lazım sadece
 

 

http://www.neredenalmalı.com/

HelloWorld01 HelloWorld01 WM Aracı Kullanıcı
  • Üyelik 19.02.2017
  • Yaş/Cinsiyet 28 / E
  • Meslek Webmaster
  • Konum İzmir
  • Ad Soyad S** G**
  • Mesajlar 532
  • Beğeniler 159 / 159
  • Ticaret 1, (%100)

$sayi = 12589652222;
$mn = number_format($sayi);
$bol = explode(',',$mn);

if(count($bol) == 2) // Eğer Binlik ise
{
echo $bol[0] . " Bin";
}
elseif(count($bol) == 3) //Eğer milyon ise
{
echo $bol[0] . " Milyon";
}
elseif(count($bol) == 4) // Eğer milyar ise
{
echo $bol[0] . " Milyar";
}
elseif(count($bol) == 5) // Eğer Trilyon ise
{
echo $bol[0] . " Trilyon";
}
?>


İyi çalışmalar.
 

 

samedkundak samedkundak WM Aracı Kullanıcı
  • Üyelik 01.09.2014
  • Yaş/Cinsiyet 32 / E
  • Meslek kimya mühendisi
  • Konum Çorum
  • Ad Soyad S** K**
  • Mesajlar 63
  • Beğeniler 1 / 1
  • Ticaret 0, (%0)

redwm adlı üyeden alıntı


$sayi = 12589652222;
$mn = number_format($sayi);
$bol = explode(',',$mn);

if(count($bol) == 2) // Eğer Binlik ise
{
echo $bol[0] . " Bin";
}
elseif(count($bol) == 3) //Eğer milyon ise
{
echo $bol[0] . " Milyon";
}
elseif(count($bol) == 4) // Eğer milyar ise
{
echo $bol[0] . " Milyar";
}
elseif(count($bol) == 5) // Eğer Trilyon ise
{
echo $bol[0] . " Trilyon";
}
?>


İyi çalışmalar.


Eyvallah hocam sağolasın.Yapmaya çalıştığım tamda buydu.
 

 

http://www.neredenalmalı.com/

gokrtl gokrtl mekatronik.org Kullanıcı
  • Üyelik 11.11.2016
  • Yaş/Cinsiyet 40 / E
  • Meslek Özel Güvenlik Görevlisi
  • Konum Antalya
  • Ad Soyad G** K**
  • Mesajlar 122
  • Beğeniler 19 / 24
  • Ticaret 0, (%0)

redwm adlı üyeden alıntı

Bunu kullandığınız dil ile yapabilirsiniz. Eğer PHP kullanıyorsanız verdiğim kod ile ilk önce sayıyı "number_format" ile basamaklarına ayırıp ardından bu basamakları "explode" ile bölüp istediğimiz kısmı aldıktan sonra yazdırabilirsiniz. Ayrıca binlik olarak da yazdırmak isterseniz sayınızın büyüklüğü "if" ile kontrol edip ona göre bölünen sayının yanına "B" olarak da yazdırmak mümkün.

Not: Bunu "substr" fonksiyonu ile yaparsanız stabil olmayacaktır. Çünkü substr fonksionu, sayı büyüklüğü ne olursa olsun her zaman ilk hanelerini alacak. Bu da pek kabul edilebilecek bir durum değildir.


$sayi = 12589652;
$mn = number_format($sayi, 2, '.', ',');
$bol = explode(',',$mn);
echo $bol[0] . " Mn";
?>


İyi çalışmalar.


Kabul ediyorum çok kestirmeden gittim :) Azcık acemiyim de bildiğim kadarını aktardım.
 

 

www.mekatronik.org/forum
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al