• 30-01-2016, 13:06:53
    #10
    scout adlı üyeden alıntı: mesajı görüntüle
    Mantığım şudur;

    Bu hesaplamanın adı "Brüte göre satış hesaplayıcı"

    Formülde 2 alanım var.

    1. Alış fiyatı
    2. İstenilen kar marjı (%)

    Formülüm doğru çalışıyor. Tek sorunum rakamların sona doğru uzuyor olması. Verdiğiniz .toFixed(2); kodu işe yaradı. Ancak hesaplama işleminde sıkıntılı bir durum ortaya çıkardı.

    Normal almam vereken rakam doğru. 1193.11 Ancak ben bu rakamı şu şekilde vermesini istiyorum 1.193,11 yuklarıda 1 fazla yazmışım. Teşekkürler.
    Buyur bende sana algoritmasını yazdım hocam

    	function hesapla(){
    	var sayi1 = 22265;
    	var sayi2 = 12;
    	var sayi3 = 40;
    	return ((sayi1/(1-(sayi2/100)))*(1+(sayi3/100))).toFixed(2).replace(".",",");
    	}
    	
    	function ayir(hesap){
    		var s = hesap.toString();
    		var karakter = 0;
    		var s2 = "";
    		var s3 = ","+(s.charAt(s.length-1)+s.charAt(s.length-2)).split('').reverse().join('');		
    		var result = "";
    		
    		while(s.charAt(karakter) != ","){		
    			s2 += s.charAt(karakter);
    			karakter++;
    		}
    		for(var i=s2.length-1,b=1;i>=0;i--,b++){
    			result += s2.charAt(i);
    			if(b%3==0 && i!=0)
    				 result += ".";		
    			 
    		}
    		return result.split('').reverse().join('')+s3;
    	}
    	
    	alert(hesapla());
    	alert(ayir(hesapla()));
  • 30-01-2016, 13:13:34
    #11
    Ben de 2 gün önce başladım öğrenmeye

    formatNumber fonksiyonunu sizin sonuc fonksiyonunun üstüne ekleyin.

    Sonuc fonksiyonundaki satırı da böyle güncelleyin.

    var sayi3=(sayi1/(1-(sayi2/100)))*(1+(sayi3/100));
    document.getElementById("sonuc") .innerHTML=formatNumber(sayi3);
  • 30-01-2016, 13:20:06
    #12
    maviuan adlı üyeden alıntı: mesajı görüntüle
    Ben de 2 gün önce başladım öğrenmeye

    formatNumber fonksiyonunu sizin sonuc fonksiyonunun üstüne ekleyin.

    Sonuc fonksiyonundaki satırı da böyle güncelleyin.

    var sayi3=(sayi1/(1-(sayi2/100)))*(1+(sayi3/100));
    document.getElementById("sonuc") .innerHTML=formatNumber(sayi3);
    Maalesef çalışmadı.
  • 30-01-2016, 13:25:16
    #13
    scout adlı üyeden alıntı: mesajı görüntüle
    Maalesef çalışmadı.
    Denedim çalışıyor hocam bende

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 13:25:16 -->-> Daha önceki mesaj 13:23:03 --

    Çalışıyor mu diye şöyle kontrol ettim sorunsuz çalıştı.

     <!doctype html>
     <html>
     <head>
     <title>Deneme</title>
     <meta charset="utf-8"/>
     <script src="selam.js"></script>
    </head>
     <body>
    <div id="sonuc"></div>
    <script>
    var num=sonuc();
    console.log(num);
    </script>
     </body>
    </html>
    function formatNumber (num) {
        var sayi=  num.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,")
        sayi=sayi.replace (/\.\,/g, ',.');
        return sayi;
    }
    function sonuc()
    {
    document.getElementById("sonuc") .innerHTML=formatNumber(1570.74444449);
     }
  • 30-01-2016, 13:55:27
    #14
    maviuan adlı üyeden alıntı: mesajı görüntüle
    Ben de 2 gün önce başladım öğrenmeye

    formatNumber fonksiyonunu sizin sonuc fonksiyonunun üstüne ekleyin.

    Sonuc fonksiyonundaki satırı da böyle güncelleyin.

    var sayi3=(sayi1/(1-(sayi2/100)))*(1+(sayi3/100));
    document.getElementById("sonuc") .innerHTML=formatNumber(sayi3);
    Bende yeniyim ama bu şekilde kısa yolları bilmemek insanı bazen üzüyor Sürekli algoritmasını yazıyorum daha uzun sürüyor elbette ama en azından algoritmamı geliştiriyor diye kendimi avutuyorum
  • 30-01-2016, 21:31:53
    #15
    maviuan adlı üyeden alıntı: mesajı görüntüle
    Denedim çalışıyor hocam bende

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 13:25:16 -->-> Daha önceki mesaj 13:23:03 --

    Çalışıyor mu diye şöyle kontrol ettim sorunsuz çalıştı.

     <!doctype html>
     <html>
     <head>
     <title>Deneme</title>
     <meta charset="utf-8"/>
     <script src="selam.js"></script>
    </head>
     <body>
    <div id="sonuc"></div>
    <script>
    var num=sonuc();
    console.log(num);
    </script>
     </body>
    </html>
    function formatNumber (num) {
        var sayi=  num.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,")
        sayi=sayi.replace (/\.\,/g, ',.');
        return sayi;
    }
    function sonuc()
    {
    document.getElementById("sonuc") .innerHTML=formatNumber(1570.74444449);
     }
    Teşekkürler, evet çalışıyor.
    Peki bunu input alanına nasıl atayabilirim?
  • 30-01-2016, 21:39:43
    #16
    scout adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler, evet çalışıyor.
    Peki bunu input alanına nasıl atayabilirim?
    Size gönderdiğim kodda "sonuc" yazan kısmı kendi inputunuzun id'si ile değiştirin hocam ve innerHTML'i de value ile değiştireceksiniz.

    document.getElementById("sonuc") .innerHTML=formatNumber(sayi3);
    Inputunuz diyelim ki şöyle:
    <input id="myInput" type="text" />
    Onu bu şekilde yazacaksınız:

    document.getElementById("myInput").value=formatNumber(sayi3);