Re: [Linux-programlama] Mysql ondalık basamak

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Mahir B. Aşut (mahir.asut@ttnet.net.tr)
Date: Fri 19 Jan 2007 - 09:07:16 GMT


Merhabalar,

ben de parasal değerleri daima decimal olarak saklıyorum ve gösterim aşamasında şu iki fonksiyonu kullanıyorum. Mesela print com(cur('953834.4423')) gibi...

Bu fonksiyonlar gerekli virgülleri atıp hem de kuruş basamağını doğru olarak yuvarlıyorlar (yukarıdaki örnek 953,834.44 olarak ekrana basılacak)

Bunlar perl fonksiyonları, sanırım PHP'ye çevirebilirsiniz.

sub cur {
    my $n = shift;
    my $minus = $n < 0 ? '-' : '';
    $n = abs($n);
    $n = int(($n + .005) * 100) / 100;
    $n .= '.00' unless $n =~ /\./;
    $n .= '0' if substr($n,(length($n) - 2),1) == '.';
    chop $n if $n =~ /\.\d\d0$/;
    return "$minus$n";
}

sub com {
    my $delimiter = ',';
    my($n,$d) = split /\./,shift,2;
    my @a = ();
    while($n =~ /\d\d\d\d/)
    {
        $n =~ s/(\d\d\d)$//;
        unshift @a,$1;
    }
    unshift @a,$n;
    $n = join $delimiter,@a;
    $n = "$n\.$d" if $d =~ /\d/;
    return $n;
}

Mahir B. Aşut
http://www.ekopc.com


U. Emre TERZİ yazmış:

Merhaba,

 

Ben bu sorunu şöyle çözmüştüm.

 

Veritabanına parasal bir değer girerken basamak ayırmayacaksınız. Program içinde nasıl biçimlendirip gösterirseniz gösterin veritabanında sayı hep 10002.34 gibi duracak. Bunu da üç satırlık bir kod ile yapmak çok basit.

 

Saygılarımla,

 

U. Emre TERZİ

 


From: linux-programlama-bounces@liste.linux.org.tr [mailto:linux-programlama-bounces@liste.linux.org.tr] On Behalf Of nsm
Sent: Friday, January 19, 2007 10:43 AM
To: linux-programlama@liste.linux.org.tr
Subject: Re: [Linux-programlama] Mysql ondalık basamak

 

Haklisin ama binler basamagi zaten tr yereline göre nokta ile ayriliyor yani 1.234,56 olacagina 1.234.56 olur.

19.01.2007 tarihinde What you get is Not what you see <wyginwys@gmail.com> yazmış:

O zaman siz de nokta olarak girseniz?

On 1/19/07, nsm <nesimiacarca@gmail.com> wrote:
> DECIMAL veritipinde girise izin veriyor fakat veritabanina ekleniriken
> tekrar noktaya ceviriryor.
>
> 2007/1/19, Uğur Yıldız <yildiz.ugur@gmail.com >:
> > DECIMAL 7, 2
> >
> > olarak deneyebilir misiniz...
> >
> > 2007/1/18, nsm < nesimiacarca@gmail.com>:
> > > Arkadaşlar mysql'de satis_fiyat diye kolonum var tipi FLOAT(10,2) buraya
> değer girmeye çalıştıgımda; örneğin 25,11 gibi, hata veriyor ve 25.11 olarak
> giriş yapmamı istiyor. Bu sorun galiba bölgesek ayarlar ile ilgili yardım
> ederseniz sevinirim.
> > > mysql version = 50.0.24
> > > Sistem = Slackware 10.2
> > >
> > > --
> > > Nesimi ACARCA
> > > _______________________________________________
> > > Linux-programlama mailing list
> > > Linux-programlama@liste.linux.org.tr
> > >
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> > >
> > >
> > >
> >
> > _______________________________________________
> > Linux-programlama mailing list
> > Linux-programlama@liste.linux.org.tr
> >
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >
> >
> >
>
>
>
> --
> Nesimi ACARCA
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
>
>

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama




--
Nesimi ACARCA


_______________________________________________ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama

No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.432 / Virus Database: 268.17.0/639 - Release Date: 18.01.2007 18:47

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.