【发布时间】:2019-05-07 00:04:00
【问题描述】:
我在一个函数中有这个,问题是其中一个变量可能是 0,我们都知道一个不能除以 0。
html += ('<div class="portlet banner-port" style="border-color: #2d0059;" class="panel-collapse collapse"> \
<div class="portlet-heading" style="background: linear-gradient(to right, rgba(0, 0, 0, 0.40) 0%, rgba(0, 0, 0, 0) 100%), #2d0059;"> \
<div class="portlet-title" style="color:#ffffff;"> \
<h4> \
<i class="fa fa-link fa-fw"></i> '+jstext.language.custom_direct_link+' <span style="float:right"><span>'+jstext.language.custom_raw_visits+': '+resp.link.hits+'</span> <span>'+jstext.language.custom_transactions+': '+resp.link.conv+'</span> <span>'+jstext.language.custom_earnings+': '+resp.link.earnings+' €</span> <span>EPC: '+(resp.link.earnings / resp.link.hits * 100).toFixed(2)+' €</span></span> \
</h4> \
</div> \
<div class="portlet-body"><label>'+jstext.language.marketing_target_url+':</label> \
<textarea style="font-weight:normal !improtant;" id="direct-link-'+resp.data.id+'" rows="1" class="form-control">'+resp.direct_url+'</textarea> \
</div> \
</div> \
</div>')
因此在这种情况下,JSON 响应 resp.link.hits 可能为 0,然后 EPC 为,正如人们所期望的那样 - NaN。正如我所见,我在这里遇到了一些基本的语法问题。我在哪里声明在这部分显示 0 而不是 NaN:
<span>EPC: '+(resp.link.earnings / resp.link.hits * 100).toFixed(2)+' €</span>
我尝试了一些方法,例如:
<span>EPC: '+if( resp.link.hits === 0 ){0} else {(resp.link.earnings / resp.link.hits * 100).toFixed(2)}+' €</span>
上面带有 if 语句的示例使整个代码无法工作。除以 0 时,我不能让它显示 0.00 而不是 NaN。有什么想法吗?任何帮助表示赞赏!
【问题讨论】:
标签: javascript function if-statement math nan