单位数和双位数的数字问题
Number issue with single and double digit
我有一些数字的问题。目前,我有一个显示方程结果的输入框。如果数字在"-25"answers"-55"之间,则显示为绿色。如果数字在"-55"到"-65"之间,它们是橙色的。任何超出这个范围的都是红色的。我遇到的问题是数字"-3","-4"answers"-5"都在该范围之外,但它们显示为绿色。"-6"显示为橙色。这些数字应该是红色的。我错过了一些东西从我的代码,将解决这个问题吗?
谢谢!
var tb = (num1 * num2) + num3 + num4 + num5 + num6 + num7 + num8 + num9 + num10 + num11 + num13 + num12 + num14;
if (tb > 0) {
document.calcForm.resist.value = "+" + Math.floor(tb* 100)/100 + " dBm";
}
else
{
document.calcForm.resist.value = Math.floor(tb* 100)/100 + " dBm";
}
document.calcForm.resist.style.color = "green";
if (document.calcForm.resist.value < "-26" || document.calcForm.resist.value > "-65") {
document.calcForm.resist.style.color = "red";
}
else { if (document.calcForm.resist.value > "-55") {
document.calcForm.resist.style.color = "orange";
}}
num1 - num14是等式的不同字段
您正在比较字符串与字符串,它按字母顺序比较,而不是按值比较。因此,您需要将document.calcForm.resist.value
转换为数字- parseInt(resist.value)
(参见代码):
var tb = (num1 * num2) + num3 + num4 + num5 + num6 + num7 + num8 + num9 + num10 + num11 + num13 + num12 + num14;
var resist = document.calcForm.resist;
if (tb > 0) {
resist.value = "+" + Math.floor(tb* 100)/100 + " dBm";
}
else
{
resist.value = Math.floor(tb* 100)/100 + " dBm";
}
resist.style.color = "green";
if (parseInt(resist.value) < -26 ||
parseInt(resist.value) > -65) {
resist.style.color = "red";
}
else if (parseInt(resist.value) > -55) {
resist.style.color = "orange";
}
您正在尝试将值与字符串类型变量进行比较。对于数字数据类型,不应该使用引号。当使用数值比较时,应该使用parseInt:
if (parseInt(document.calcForm.resist.value) < -26 || parseInt(document.calcForm.resist.value) > -65) {
document.calcForm.resist.style.color = "red";
}
这是因为document. calcform . resistance .value被作为字符串/文本处理,因为您在其中添加了"+"answers"+"dBm
document.calcForm.resist.value = "+" + Math.floor(tb* 100)/100 + " dBm";
这就是为什么"-3"> "-26"answers"-3" <" -65 " .
其余部分也一样。
考虑字符串比较:"-1"> "-10"> "-11"
而数值:-1 <-10 & lt;-11
另外,你应该去掉数字中的引号:
if (document.calcForm.resist.value < "-26" || document.calcForm.resist.value > "-65")
相关文章:
- Podio问题:Can't将字符串转换为数字
- 在我的网站上创建一个在1-10之间不断变化的数字时遇到了问题.Javascript
- 浮点数字问题JavaScript
- 数据表rowId以数字问题开头
- JavaScript正则表达式代码匹配字符和数字的问题
- Java脚本中的一些大数字出现问题
- Javascript生成错误数字的问题
- 通过 JavaScript 在 td 中增加数字的问题
- 有一些JavaScript问题,for loop.将数字转换为其字符串值
- 这个javascript日期解析有什么问题?为什么 js 讨厌数字 8
- jQuery data() 将字符串视为数字的问题
- Javascript新手问题,将数字转换为任何单词
- 在 JavaScript 中向上舍入数字有问题
- Google Charts - hAxis 上的数字/字符串问题(Jquery ajax JSON 数据)
- JavaScript,数字舍入问题
- 将 JavaScript 字符串转换为数字时出现问题
- 检查数组是否包含数字(问题为 0)
- 可以't将字符串转换为数字javascript我的代码出了什么问题
- 单位数和双位数的数字问题
- HTML表单约束的JavaScript-数字问题