• 30-01-2016, 11:21:56
    #1
    Merhaba,
    JS ile bir kaç toplama, çıkarma, bölme işlemi yapıyorum. Fakat bazı hesaplamalarımda sayı karakteri uzadıkça uzuyor. Örneğin;

    570,75 yazacağına , 570,74444449 şeklinde sonuç çıkıyor. Ben net rakamı nasıl yazdırabilirim?

    Teşekkürler.
  • 30-01-2016, 12:03:04
    #2
    scout adlı üyeden alıntı: mesajı görüntüle
    Merhaba,
    JS ile bir kaç toplama, çıkarma, bölme işlemi yapıyorum. Fakat bazı hesaplamalarımda sayı karakteri uzadıkça uzuyor. Örneğin;

    570,75 yazacağına , 570,74444449 şeklinde sonuç çıkıyor. Ben net rakamı nasıl yazdırabilirim?

    Teşekkürler.
    (hesaplama).toFixed(2)
    Bu şekilde noktadan sonraki 2 rakamı alır
  • 30-01-2016, 12:16:22
    #3
    Vjolenza adlı üyeden alıntı: mesajı görüntüle
    (hesaplama).toFixed(2)
    Bu şekilde noktadan sonraki 2 rakamı alır
    Bu kodu aşağıdaki alanda nereye eklemem gerekiyor?
    Teşekkürler.

    		  function sonuc()
    		  {
    		    sayi1 = parseInt(document.form1.alan1.value);
    		    sayi2 = parseInt(document.form1.alan2.value);
    		    sayi3 = parseInt(document.form1.alan3.value);
    		    document.getElementById("sonuc") .innerHTML=(sayi1/(1-(sayi2/100)))*(1+(sayi3/100));
    		  }
  • 30-01-2016, 12:18:06
    #4
    scout adlı üyeden alıntı: mesajı görüntüle
    Bu kodu aşağıdaki alanda nereye eklemem gerekiyor?
    Teşekkürler.

    		  function sonuc()
    		  {
    		    sayi1 = parseInt(document.form1.alan1.value);
    		    sayi2 = parseInt(document.form1.alan2.value);
    		    sayi3 = parseInt(document.form1.alan3.value);
    		    document.getElementById("sonuc") .innerHTML=(sayi1/(1-(sayi2/100)))*(1+(sayi3/100));
    		  }
    ((sayi1/(1-(sayi2/100)))*(1+(sayi3/100))).toFixed(2);
    Bu ÅŸekilde kullanabilirsin hocam
  • 30-01-2016, 12:22:01
    #5
    Vjolenza adlı üyeden alıntı: mesajı görüntüle
    ((sayi1/(1-(sayi2/100)))*(1+(sayi3/100))).toFixed(2);
    Bu ÅŸekilde kullanabilirsin hocam
    Merhaba,
    Ancak bu seferde rakam şöyle oluyor; 1193.11

    Bunu düzeltmek mümkün değil midir? Örneğin;

    11.93,11 ÅŸeklinde?
  • 30-01-2016, 12:23:58
    #6
    scout adlı üyeden alıntı: mesajı görüntüle
    Merhaba,
    Ancak bu seferde rakam şöyle oluyor; 1193.11

    Bunu düzeltmek mümkün değil midir? Örneğin;

    11.93,11 ÅŸeklinde?
    11.93,13 in mantığını çözemedim ben hocam anlatmak istediğiniz nedir?
  • 30-01-2016, 12:30:28
    #7
    Vjolenza adlı üyeden alıntı: mesajı görüntüle
    11.93,13 in mantığını çözemedim ben hocam anlatmak istediğiniz nedir?
    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.
  • 30-01-2016, 12:53:46
    #8
    Hocam bir de şöyle denermisin.

    function formatNumber (num) {
        var sayi=  num.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,")
        sayi=sayi.replace (/\.\,/g, ',.');
        return sayi;
    }
    Sonra da fonksiyona senin sayıyı verip çağıralım.

    var yenisayi=formatNumber((sayi1/(1-(sayi2/100)))*(1+(sayi3/100)));
  • 30-01-2016, 13:05:42
    #9
    maviuan adlı üyeden alıntı: mesajı görüntüle
    Hocam bir de şöyle denermisin.

    function formatNumber (num) {
        var sayi=  num.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,")
        sayi=sayi.replace (/\.\,/g, ',.');
        return sayi;
    }
    Sonra da fonksiyona senin sayıyı verip çağıralım.

    var yenisayi=formatNumber((sayi1/(1-(sayi2/100)))*(1+(sayi3/100)));
    Merhaba,
    Buradaki yeni sayı tam olarak neyi ifade ediyor anlamadım da; Çünkü 2 adet input alanım mevcut.

    		  function sonuc()
    		  {
    		    sayi1 = parseInt(document.form1.alan1.value);
    		    sayi2 = parseInt(document.form1.alan2.value);
    		    document.getElementById("sonuc") .innerHTML=((sayi1/(1-(sayi2/100)))*(1+(sayi3/100))).toFixed(3);
    		  }
    	<form name="form1">
    	<input type="text" name="alan1" /> <br />
    	<input type="text" name="alan2"  />
    	<a href="javascript:;" onclick="javascript:hesapla()">Topla</a>    
    	<div id="sonuc"></div>
    	</form>[/CODE]
    Bu kodları nasıl yerleştirmem gerekiyor? Gerçekten bilgim çok sınırlı. Teşekkürler.