У меня есть простые инструменты javascript, где отображается сумма процентного результата. Но я не могу получить правильное значение. Например:Не удается получить правильный процент (%) результат с помощью javascript
Это показывает ...
1000% 10 = 100 Это правильно.
Но 1000% 10,2 = Это все еще показывает 100. Это должно быть 102.
Javascript код:
<script>
jQuery(document).ready(function() {
$('#pvalue1').change(function() {
var agentfee = parseInt($('#pvalue1').val(), 10) * parseInt($('#pvalue2').val(), 10)/100;
$('#pvalue3').val(agentfee);
var percentagereduce = parseInt($('#pvalue2').val(), 10) - 0.1;
var newvalue = parseInt($('#pvalue1').val(), 10) * percentagereduce/100;
$('#pvalue4').val(newvalue);
var takevalue1 = parseInt($('#pvalue3').val(), 10);
var takevalue2 = parseInt($('#pvalue4').val(), 10);
var finalvalue = takevalue1 - takevalue2;
$('#pvalue5').val(finalvalue);
});
$('#pvalue2').change(function() {
var agentfee = parseInt($('#pvalue1').val(), 10) * parseInt($('#pvalue2').val(), 10)/100;
$('#pvalue3').val(agentfee);
var percentagereduce = parseInt($('#pvalue2').val(), 10) - 0.1;
var newvalue = parseInt($('#pvalue1').val(), 10) * percentagereduce/100;
$('#pvalue4').val(newvalue);
var takevalue1 = parseInt($('#pvalue3').val(), 10);
var takevalue2 = parseInt($('#pvalue4').val(), 10);
var finalvalue = takevalue1 - takevalue2;
$('#pvalue5').val(finalvalue);
});
});
</script>
Html часть:
<table>
<tr>
<td>House Sale Price:</td>
<td>$
<input name="pvalue1" onkeypress="validate(event)" value="" placeholder=" Enter Sale Price" style="width:140px;" type="number" value="<?=$pvalue1?>" id="pvalue1" size="20" class="required inputfield2" required>
</td>
</tr>
<tr>
<td>Rate quoted by agent:</td>
<td>
<input name="pvalue2" onkeypress="validate(event)" value="0" placeholder=" Percentage" style="width:140px;" type="number" value="<?=$pvalue2?>" id="pvalue2" size="20" class="required inputfield2" required>%</td>
</tr>
</table>
<input name="doRegister" type="submit" id="doRegister" value="Calculate" style="color:white;font-size:20px;" class="submitbutton">
<div id="resultbox2" class="resultbox1">
<h2>Results</h2>
<table>
<tr>
<td>Agent Fees:</td>
<td>$
<input name="pvalue3" value="0" placeholder="" type="number" value="<?=$pvalue3?>" id="pvalue3" size="10" class="resultfield">
</td>
</tr>
<tr>
<td>
<div id='show-me' style='display:none'>
<input name="pvalue4" value="0" placeholder="" type="number" value="<?=$pvalue4?>" id="pvalue4" size="10" class="resultfield">
</div>
</td>
</tr>
<tr>
<td>Reducing the rate the agent is charging by 0.1% will save you:</td>
<td>$
<input name="pvalue5" value="0" placeholder="" type="number" value="<?=$pvalue5?>" id="pvalue5" size="10" class="resultfield">
</td>
</tr>
</table>
Почему вы используете 'parseInt', если вы ожидаете нецелых чисел? – user2357112
Вы должны использовать parseFloat вместо parseInt везде. –
Некоторые комментарии помогут понять, что должен делать код. – PMF