folder Tahribat.com Forumları
linefolder Html - CSS - XML - JavaScript - Ajax
linefolder Javascript Cok Noktalı Sayılar İşlem



Javascript Cok Noktalı Sayılar İşlem

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lazz
    lazz's avatar
    Kayıt Tarihi: 15/Ekim/2007
    Erkek

    başlık için kusura bakmayın 

    nasıl anlatabılecegımı bilemedim

    bir değişkende versiyon numarası tutyorum  örnek : 2.1.1.0

    bu değişkene matameteik işlemi nasıl uygulayabılırım (matematik işlemi +1 = 2.1.1.1)

    kodum bu

    var bilgi =  document.getElementById("verisyonGuncel").textContent 
                    var vers = bilgi + 1
                    document.getElementById("versiyonYeni").value = vers 

     

    parsefloat denedım fakat ıkıncı nokta ve sonrasını almıyor

     

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PcK0
    PcK0's avatar
    Kayıt Tarihi: 13/Nisan/2007
    Erkek
    /*
        a.b.c.d
        major.minor.revision.build
    */
    
    var major = 0,
        minor = 1,
        revision = 2,
        build = 3;
    
    var versiyon = '1.2.3.4';
    versiyon = versiyon.split('.');
    versiyon[build]++;
    versiyon = versiyon.join('.'); // 1.2.3.5
    
    alert(versiyon);

     

    Üstte yazdığım kod sadece yapmak istediğin şey için geçerli. Daha fazla detaylandırılması gerekiyor. Örneğin minor versiyon arttırıldığında revision ve build sıfır ya da bir olması gerekiyor.

    1.2.3.4 => minor versiyon +1 olacak olsun => 1.3.0.0 ya da 1.3.1.1'e dönüştürülmesi gerekiyor.

    PcK0 tarafından 09/Oca/18 13:25 tarihinde düzenlenmiştir

    Sadece bi imza..
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    String.prototype.anaSurumArttir = function(sayi)

    {

    var numara = this.split(".");

    numara[0] = parseInt(numara[0]) + sayi;

    return numara.join(".");

    };

    String.prototype.altSurumArttir = function(sayi)

    {

        var numara = this.split(".");

    numara[numara.length-2] = parseInt(numara[numara.length-2]) + sayi;

    return numara.join(".");

    };

    String.prototype.revizyonArttir = function(sayi)

    {

        var numara = this.split(".");

    numara[numara.length-1] = parseInt(numara[numara.length-1]) + sayi;

    return numara.join(".");

    };

    console.log("1.2.3".anaSurumArttir(4));

    console.log("1.2.3".altSurumArttir(1));

    console.log("1.2.3".revizyonArttir(1));

     

    gibi bir şeyler olabilir. Hata kontrolü yok yalnız.


    Olaylara karışmayın!
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lazz
    lazz's avatar
    Kayıt Tarihi: 15/Ekim/2007
    Erkek

    @yeniharman

    hocam string butun olarak gelıyor yazdıgın sekılde bolemedım

    @pck0

    hocam senın kodu denedım ama çalışmadı

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek
    lazz bunu yazdı

    @yeniharman

    hocam string butun olarak gelıyor yazdıgın sekılde bolemedım

     

    Zaten bütün olarak gelmeli Hocam. Orada String nesnesinin prototipine 3 metot daha ekledim. anaSurumArttir, altSurumArttir, revizyonArttir diye. Burada sürüm numarasının 3 parçadan oluşacağını varsaydım. X.Y.Z X=> ana sürüm, Y alt sürüm, Z revizyon. Oradaki yapıyı şu şekilde de kullanabilirsin.

    "0.0.0".anaSurumArttir(1).altSurumArttir(1).revizyonArttir(2)

    sonuç olarak sana "1.1.2" dönecek.

    String nesnesinin prototipinde çalıştığım için artık her stringte de çalışacak ve yine sana string döndürecek.

    Şimdi sen 2.1.1.0'a +1 ekledin, 2.1.1.1 oldu. Peki ne zaman 2.4.2.3 olacak?


    Olaylara karışmayın!
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lazz
    lazz's avatar
    Kayıt Tarihi: 15/Ekim/2007
    Erkek

    @yeniharman

    evet hocam onu farkettım ve pkc0 hocamın kodunundan devam ederek asagıdakı kodla ısımı cozdum ıkınızede tesekkur ederım

    var major = 0,
                        minor = 1,
                        revision = 2,
                        build = 3;
                    var versiyon = document.getElementById("verisyonGuncel").textContent;
                    versiyon = versiyon.split('.');
                    if (versiyon[build] < 4) {
                        versiyon[build]++;
                    } else {
                        if (versiyon[revision] < 4) {
                            versiyon[revision]++;
                            versiyon[build] = 1;
                        } else {
                            if (versiyon[minor] < 4) {
                                versiyon[minor]++;
                                versiyon[revision] = 1;
                            } else {
                                versiyon[major]++;
                                versiyon[minor]=1;
                            }
                        }
                    }
                    versiyon = versiyon.join('.'); // 1.2.3.5
                    document.getElementById("versiyonYeni").value = versiyon

    boylelıkle versiyon sınırlarıda ben koymus oldum.istediğim skilde buyuyolar

Toplam Hit: 809 Toplam Mesaj: 6
toplama matametik