|
|
|
Yazan
|
Konu: Basit bir aritmetik işlem (Okunma Sayısı 1111 defa)
|
keskin
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 3
|
<html> <head> <title>English</title> <script> var fyt = new Array(19.9,19.9,14.9) function aboneucretihesapla(){ var denadet=document.form1.length; var toplam=0; for(i=0; i<denadet-2; i++){ if(document.form1.elements.checked) toplam=toplam+fyt; } document.form1.fyt.value=toplam+" YTL"; } </script> <body> <table border="0" align="center" cellpadding="3" cellspacing="3"> <tr> <td colspan="2"><form action="" method="post" name="form1"> <p> <input name="seviye[0]" type="checkbox" onClick="aboneucretihesapla()" value="1"> Beginner-Elementary
<input name="seviye[1]" type="checkbox" onClick="aboneucretihesapla()" value="2"> Pre-Intermediate
<input name="seviye[2]" type="checkbox" onClick="aboneucretihesapla()" value="3"> Intermediate
</p> <p align="center"> <input name="fyt" type="text" class="gizli" style="text-align:center" value="0 YTL" size="12" readonly>
<input name="btnaboneol" type="button" value="Abone Ol >>" onclick="abonesubmit();"> </p> </form></td> </tr> </table> </body> </html>
Arkadaşlar 3 tane checkboxım var. Herbirine tıklayınca aboneucretihesapla fonksiyonu çalışıyor ve fyt dizisine göre fiyatı hesaplayıp input un içine yazıyor. Tüm checkboxları seçince normalde hesap şöyle olması gerekirken: 19.9+19.9+14.9=54.7 fakat sonuç 54.699999999999996 çıkıyor
basit bi toplama işlemi yaptıramadım.
mesela şunuda deneyip görebilirsiniz.
9.2 x 100=920 olması gerekirken 919.9999999999999 çıkıyor
bunu niye yapar yardımlarınızı bekliyorum
|
|
|
|
|
Logged
|
|
|
|
Witkey
Ziyaretçi
|
ben js den anlamam ama Tek tırnak ıcıne almayı denesen ?
|
|
|
|
|
Logged
|
|
|
|
|
muratmoon
|
float değerlerde o kadar sapma olabilir.
en sonunda yuvarlama yapmayı deneyin.
|
|
|
|
|
Logged
|
|
|
|
|
 |
|