Javascript jQuery-奇怪的bug,其中100.00
jQuery/JavaScript有一个奇怪的问题。我正在使用以下代码:Javascript jQuery-奇怪的bug,其中100.00,javascript,numbers,Javascript,Numbers,jQuery/JavaScript有一个奇怪的问题。我正在使用以下代码: var minimumPercent = $('.donationTextBox').val(); $('.donationTextBox').change(function() { var donationAmount = parseFloat($('.donationTextBox').val()); donationAmount = donationAmount.toFixed(2); i
var minimumPercent = $('.donationTextBox').val();
$('.donationTextBox').change(function() {
var donationAmount = parseFloat($('.donationTextBox').val());
donationAmount = donationAmount.toFixed(2);
if(donationAmount < minimumPercent || donationAmount == "NaN") {
$('.donationTextBox').val(minimumPercent);
}
else {
$('.donationTextBox').val(donationAmount);
}
});
我编写的这段代码更改了输入框文本的值,因此用户输入的值是货币格式的,例如:96.49,并进行检查以确保它不低于minimumPercent中的金额。如果是,那么它会将值更改为minimumPercent。
我遇到的问题是,假设minimumPercent保持2.50,用户输入100.00,出于某种奇怪的原因,它假设100.00小于2.50。尽管如此,200.00还可以
有什么想法吗?谢谢你的帮助 设置minimumPercent时,请尝试使用ParseFloat
var minimumPercent = ParseFloat($('.donationTextBox').val());
我认为is引擎将字符串与浮点进行比较,从而将浮点转换回字符串,当您执行100.00<2.50=true时,按字母顺序从左到右进行比较
Mike设置minimumPercent时,请尝试使用ParseFloat
var minimumPercent = ParseFloat($('.donationTextBox').val());
我认为is引擎将字符串与浮点进行比较,从而将浮点转换回字符串,当您执行100.00<2.50=true时,按字母顺序从左到右进行比较
Mike和toFixed会将浮点值转换为字符串,因此在比较时始终使用浮点值
var minimumPercent = parseFloat($('.donationTextBox').val());
$('.donationTextBox').change(function() {
var donationAmount = parseFloat($('.donationTextBox').val());
if(donationAmount < minimumPercent || donationAmount == "NaN") {
$('.donationTextBox').val(minimumPercent.toFixed(2));
}
else {
$('.donationTextBox').val(donationAmount.toFixed(2));
}
});
同时,使用toFixed将浮点值转换为字符串,因此为了进行比较,始终使用浮点值
var minimumPercent = parseFloat($('.donationTextBox').val());
$('.donationTextBox').change(function() {
var donationAmount = parseFloat($('.donationTextBox').val());
if(donationAmount < minimumPercent || donationAmount == "NaN") {
$('.donationTextBox').val(minimumPercent.toFixed(2));
}
else {
$('.donationTextBox').val(donationAmount.toFixed(2));
}
});
这听起来确实像是在比较字符串值。是的,完全忘记了这个变量。谢谢!:这听起来确实像是在比较字符串值。是的,完全忘记了这个变量。谢谢!: