好的,所以我的代码工作正常但是当为#chance输入一个十进制数字,即60.1,60.2,60.3等时,它会增加利润并支付费用。
例如:60%是偶然输入,1是投注。它的薪水为1.65,利润为0.65。这都是正确的。
但是当我输入60.1时,它返回16.5(错误的小数)和15.5获利。 16.5似乎是一个简单的修复,但Idk如何解决它,但我不知道为什么它返回15.5获利并且想到如果我固定支付它将解决利润问题。
怎么了?
感谢。
<script>
$(document).ready(function(){
function updateValues() {
// Grab all the value just incase they're needed.
var chance = $('#chance').val();
var bet = $('#bet').val();
var pay = $('#pay').val();
var profit = $('#profit').val();
// Calculate the new payout.
var remainder = 101 - chance;
pay = Math.floor((992/parseFloat((chance+0.5))) *100)/100;
// Calculate the new profit.
profit = bet*pay-bet;
profit = profit.toFixed(6);
// Set the new input values.
$('#chance').val(chance);
$('#bet').val(bet);
$('#pay').val(pay);
$('#profit').val(profit);
}
parseInt($('#chance').keyup(updateValues));
parseInt($('#bet').keyup(updateValues));
parseInt($('#pay').keyup(updateValues));
parseInt($('#profit').keyup(updateValues));
});
</script>
答案 0 :(得分:2)
parseFloat((chance+0.5))
看起来非常错误。 chance
是一个字符串,因此+
运算符将执行字符串连接。当您输入60
时,它变为
parseFloat("60"+0.5) === 600.5
当您输入60.1
时,它是
parseFloat("60.1"+0.5) === 60.1
你可能想要
(992/(parseFloat(chance)+0.5))*100
// or
(992/parseFloat(chance)+0.5)*100
// or
992/parseFloat(chance)*100+0.5
// or something along these lines
答案 1 :(得分:1)
将parseFloat((chance+0.5))
更改为(parseFloat(chance)+0.5)
。
实际上,我无法理解为什么它与60
合作。 chance
,作为文本字段的值,是一个字符串:"60"
。字符串不添加,它们连接:"60" + 0.5
是"600.5"
,与"60" + "0.5"
相同。
答案 2 :(得分:0)
尝试这样的事情:
$(document).ready(function(){
function updateValues(){
var chance = $('#chance').val();
var bet = $('#bet').val();
var pay = $('#pay').val();
var profit = $('#profit').val();
pay = ((992/Math.floor(+chance+0.5))/10).toFixed(2);
profit = (bet*pay-bet).toFixed(6);
$('#chance').val(chance);
$('#bet').val(bet);
$('#pay').val(pay);
$('#profit').val(profit);
}
$('#chance').keyup(updateValues);
$('#bet').keyup(updateValues);
$('#pay').keyup(updateValues);
$('#profit').keyup(updateValues);
});
你的数学出了点问题。
注意:
您不必使用parseInt()
或parseFloat()
来制作字符串数字。 String前面的+
符号是一个数字,会将其转换为数字。
有关详细信息,请参阅http://jsfiddle.net/PHPglue/JQJMD/。