2016-03-23 33 views
-1

Aşağıda bu temel hesap makinesine sahibim ve daha kolay okuyabilmek için sayıların içine bir ayırıcı eklemek içinLocaleString kullanıyorum. Üçüncü çıktıda mükemmel çalışır, ancak ilk ikisinde değil? Ben nasıl kullanılacağını% 100 emin değilim bu yüzdenNeden bu çalışmıyor? (bazı çıkışlardaLocaleString)

<form oninput="loanval.value=loan.value.toLocaleString(); periodval.value=period.value.toLocaleString(); paymentval.value=Math.floor(loan.value/period.value).toLocaleString()"> 

<label>Loan Amount</label> 
<input type="range" id="loan" name="loan" min="5000" max="400000" step="5000">    
<output name="loanval" for="loan">0</output> 

<label>Loan Period</label> 
<input type="range" id="period" name="period" min="1" max="15">   
<output name="periodval" for="period">0</output> 

<label>Your monthly repayment will be: 
<output name="paymentval">0</output> 

</form> 

cevap

5

Varsayılan başına, formunuz giriş sayıları da string ve toLocaleString eserler olduğunu çünkü ... temel kodlama becerilerine sahip. Son çıkış beklendiği gibi çalışır yüzden bu yüzden Yani, buna göre değiştirmek için, sen Math js fonksiyonlar örtülü sizin için yukarıdaki dönüşüm yapmak, bahsedilen bu fiddle

de görebileceğiniz gibi parseInt(loan.value, 10) için loan.value değiştirmek zorunda .

+0

Detaylı cevap için çok teşekkür ederim. Ben şimdi daha iyi anlıyorum ve mükemmel çalışıyor :) – Shtarley

+0

Aynı 'sorun' vardı ve ne olduğunu bulamadık. Tamamen gözden kaçırdı .value bir dize olurdu. Teşekkürler ! – Larphoid