Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果数字为负数,则将值设置为0.00_Javascript_Jquery - Fatal编程技术网

Javascript 如果数字为负数,则将值设置为0.00

Javascript 如果数字为负数,则将值设置为0.00,javascript,jquery,Javascript,Jquery,我已经构建了这个简单的租金可承受性java脚本计算器,我遇到的问题是最后一个框“租金可承受性文本框”有时会返回一个-(负数)如果数字为负数,我会尝试将该值设置为0.00 我已将此添加到我的脚本中: if (RentAffordability < 0) RentAffordability = 0.00; if(租金承受能力

我已经构建了这个简单的租金可承受性java脚本计算器,我遇到的问题是最后一个框“租金可承受性文本框”有时会返回一个-(负数)如果数字为负数,我会尝试将该值设置为0.00

我已将此添加到我的脚本中:

if (RentAffordability < 0) RentAffordability = 0.00;
if(租金承受能力<0)租金承受能力=0.00;
没有运气。以下是完整的代码:


函数运行(){
var百分比=40;
var Income=parseInt(document.getElementById('YearlyIncome').value);
var费用=parseInt(document.getElementById('MonthlyExpenses')。值);
var PercentageCalculated=收入/百分比;
//document.getElementById(“租金可承受性”)。值=计算的百分比-费用;
美元(“#租金可承受性”).val((计算百分比-费用).toFixed(2));
}
如果(租金承受能力<0)
租金负担能力=0.00;
(函数($){
$.fn.currencyInput=函数(){
这个。每个(函数(){
变量包装器=$(“”);
$(此).wrap(包装器);
$(this).change(function(){
var min=parseFloat($(this.attr(“min”));
var max=parseFloat($(this).attr(“max”);
var值=此.valueAsNumber;
如果(值<最小值)
值=最小值;
否则如果(值>最大值)
值=最大值;
$(this.val(value.toFixed(2));
});
});
};
})(jQuery);
$(文档).ready(函数(){
$('input.currency').currencyInput();
});
合并年收入:
合并每月费用:
你的租金负担能力:
计算你的租金

使用
租金可承受性=Math.max(0,租金可承受性)
获取租金可承受性的0或当前值中的较大值

这样,当租金负担能力为负时,它将回落到0,这是我发现的一些问题

  • if语句在run函数之外
  • 在检查是否为负值之前,请先设置租金承受能力
  • 您永远不会创建变量RentBehability(我假设它应该是名为/id RentBehability的输入标记)
更新代码应如下所示:

function run() {
   var PercentageRate = 40;
   var Income = parseInt(document.getElementById('YearlyIncome').value);
              var Expenses = parseInt(document.getElementById('MonthlyExpenses').value);
   var PercentageCalculated = Income / PercentageRate;
   var RentAffordability = PercentageCalculated - Expenses
   if (RentAffordability < 0) 
      RentAffordability = 0.00;
   $('#RentAffordability').val((RentAffordability).toFixed(2));
}
函数运行(){
var百分比=40;
var Income=parseInt(document.getElementById('YearlyIncome').value);
var费用=parseInt(document.getElementById('MonthlyExpenses')。值);
var PercentageCalculated=收入/百分比;
var租金承受能力=计算百分比-费用
如果(租金承受能力<0)
租金负担能力=0.00;
$(“#租金可承受性”).val((租金可承受性).toFixed(2));
}

if语句需要放在
run()函数中。目前,您只在页面加载时检查它。您似乎也没有实际将值设置为
租金可承受性
。我还建议使用jQuery事件处理程序来附加该逻辑,而不是过时的
onclick
属性……显然,在将其放入输入之前,需要将负值设置为0.00。在您更改了碰巧放在文本框中的变量后,jQuery不会神奇地更改文本框内容。此外,不要使用
进行输出。使用
添加到上述注释中-看起来您需要检查
如果((百分比计算-费用)<0)
只是好奇,这是否比OP尝试的更好<代码>如果(租金负担能力<0)租金负担能力=0.00
Justinas补充说,仍然有一个数字是否定的,我可以在Chrome开发工具上运行,但我发布的代码没有在browserI中运行。老实说,我不知道
RentAffordability
是在哪里定义的,但我把它改成了否定的