Javascript Cok Noktalı Sayılar İşlem
-
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
-
/* 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 -
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.
-
@yeniharman
hocam string butun olarak gelıyor yazdıgın sekılde bolemedım
@pck0
hocam senın kodu denedım ama çalışmadı
-
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?
-
@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