gpt4 book ai didi

javascript - 为什么 >=(大于或等于)比较在 Javascript 中不起作用?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:56:43 26 4
gpt4 key购买 nike

我在这里错过了什么?这个剧本对我来说很合适。

但出于某种原因,当我向它发送邮政编码 02897(或任何应该是罗德岛的邮政编码)时,它返回新罕布什尔州。除了 Javascript 开发人员可能拥有的政治信仰(当然大多数人更愿意住在新罕布什尔而不是罗德岛),为什么这个脚本不起作用?

新泽西州和阿拉巴马州工作得很好。为什么罗德岛得不到爱?

function getState(zip) {
var thiszip = zip; // parseInt(zip);
if (thiszip >= 35000 && thiszip <= 36999) {
thisst = 'AL';
thisstate = "Alabama";
}
else if (thiszip >= 03000 && thiszip <= 03899) {
thisst = 'NH';
thisstate = "New Hampshire";
}
else if (thiszip >= 07000 && thiszip <= 08999) {
thisst = 'NJ';
thisstate = "New Jersey";
}
else if (thiszip >= 02800 && thiszip <= 02999) {
thisst = 'RI';
thisstate = "Rhode Island";
}
else {
thisst = 'none';
}
return thisst;
}

最佳答案

03000 等于 1536 作为小数。

这是因为前导零导致该值被解释为八进制。

既然你最后是做数值比较,为什么不在比较中省略前导零呢?

else if (thiszip >= 3000 && thiszip <= 3899) {

否则,使用parseInt 并声明小数:

else if (thiszip >= parseInt(03000, 10) && thiszip <= parseInt(03899, 10)) {
// ^^^ pass radix parameter ^^^ pass radix parameter

你可能想要parseInt传入的值:

var thiszip = parseInt(zip, 10);

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt

关于javascript - 为什么 >=(大于或等于)比较在 Javascript 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31868020/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com