如何使用isNAN和分隔符问题

时间:2017-10-08 08:21:03

标签: javascript nan separator

我需要找到一种输入分隔符的方法,例如,12,000而不获取NaN消息,如果不能这样做,则显示消息。我查看了各种网站和StackOverflow,无法解决如何执行此操作(newbeeee问题)。目前的代码如下:

<script language="JavaScript" type="text/javascript">
function calcsavings()

{

var B1=document.forms[0].B1.value;
var B2n = Number("1516");
var B2=+B2n + +B1;
var B4 = Number("0.138");

var t;
for (i=0; i<document.forms[0].ITR.options.length; i++)

{

if (document.forms[0].ITR.options[i].selected)
t = document.forms[0].ITR.options[i].value;
}

var result=(B1/t-(B2/(1+B4)))*t

result=Math.round(result);

document.getElementById("childcaresavings").innerHTML=result;

}

</script>

我在发布之前删除了我尝试过的非工作代码。

1 个答案:

答案 0 :(得分:0)

NaN添加result支票有什么问题吗?

result=Math.round(result);
var htmlContent = Number.isNaN(result) ? "not a valid number" : result;
document.getElementById("childcaresavings").innerHTML=htmlContent ;

编辑:如果您正在寻找随意使用解析。您可以使用全局replace来删除除数字和句点之外的任何内容。

if (document.forms[0].ITR.options[i].selected) {
  var inputVal = document.forms[0].ITR.options[i].value;
  var removedCommas = inputVal.replace(/[,]/g, "")
  if (removedCommas[0] === "£") {
    removedCommas = removedCommas.slice(1, removedCommas.length)
  }
  t = removedCommas
}

这是做什么的:它接受你的输入并删除所有逗号和£,如果它是输入中的第一个字符。假设您的用户输入了一个合理的条目,它将按预期处理该数字。如果您的使用输入奇怪的内容,例如/ * & #等,则会返回NaN并显示您的错误。