相关疑难解决方法(0)

在JavaScript中验证十进制数 - IsNumeric()

在JavaScript中验证十进制数的最干净,最有效的方法是什么?

奖励积分:

  1. 明晰.解决方案应该干净简单.
  2. 跨平台.

测试用例:

01. IsNumeric('-1')      => true
02. IsNumeric('-1.5')    => true
03. IsNumeric('0')       => true
04. IsNumeric('0.42')    => true
05. IsNumeric('.42')     => true
06. IsNumeric('99,999')  => false
07. IsNumeric('0x89f')   => false
08. IsNumeric('#abcdef') => false
09. IsNumeric('1.2.3')   => false
10. IsNumeric('')        => false
11. IsNumeric('blah')    => false
Run Code Online (Sandbox Code Playgroud)

javascript validation numbers

2318
推荐指数
19
解决办法
145万
查看次数

HTML文本输入仅允许数字输入

有没有一种快速的方法来设置HTML文本输入(<input type=text />)只允许数字键击(加'.')?

html javascript jquery

792
推荐指数
30
解决办法
178万
查看次数

在Typescript中,如何检查字符串是否为数字

在Typescript中,这显示一个错误,即isNaN仅接受数值

isNaN('9BX46B6A')
Run Code Online (Sandbox Code Playgroud)

并返回false,因为parseFloat('9BX46B6A')求值为9

isNaN(parseFloat('9BX46B6A'))
Run Code Online (Sandbox Code Playgroud)

我仍然可以运行Visual Studio中出现的错误,但我想以正确的方式执行.

目前,我已经写了这个修改过的功能 -

static isNaNModified = (inputStr: string) => {
    var numericRepr = parseFloat(inputStr);
    return isNaN(numericRepr) || numericRepr.toString().length != inputStr.length;
}
Run Code Online (Sandbox Code Playgroud)

typescript

143
推荐指数
8
解决办法
14万
查看次数

ESLint意外使用isNaN

我正在尝试isNaN在Node.js模块中使用箭头函数内的全局函数,但我收到此错误:

[eslint] Unexpected use of 'isNaN'. (no-restricted-globals)

这是我的代码:

const isNumber = value => !isNaN(parseFloat(value));

module.exports = {
  isNumber,
};
Run Code Online (Sandbox Code Playgroud)

我知道自己做错了什么吗?

PS:我正在使用AirBnB风格指南.

javascript eslint

120
推荐指数
3
解决办法
4万
查看次数

检查字符是否是数字?

我需要检查一下justPrices[i].substr(commapos+2,1).

字符串类似于:"blabla,120"

在这种情况下,它将检查'0'是否是数字.如何才能做到这一点?

javascript

87
推荐指数
11
解决办法
18万
查看次数

"+ var === + var"如何在内部工作以验证var是否为数字?

看到这个问题:JavaScript中是否有(内置)方法来检查字符串是否为有效数字?并且:jsperf,提出的方法之一就是这样(比照):

var a = "123"
var b = "123b"

if ( +a === +a ) // true

if ( +b === +b ) // false
Run Code Online (Sandbox Code Playgroud)

这个逻辑如何在JavaScript 内部工作以实现这一目标?

我的问题不是如何检查字符串是否是有效数字 - 这已在这里得到解答:验证JavaScript中的十进制数 - IsNumeric().我想了解该声明的+a === +a工作原理.

javascript string validation numbers

51
推荐指数
3
解决办法
1765
查看次数

TypeScript isNan只接受一个数字

我使用WebStorm 2016.2.2,TypeScript 2.1,Node.js.

出于某种原因,isNan声明为只接受数字的函数:

declare function isNaN(number: number): boolean;
Run Code Online (Sandbox Code Playgroud)

我试图将其改为任何,但看起来它不会对TSC产生影响.我仍然得到同样的错误:

'string'类型的参数不能分配给'number'类型的参数

我的代码(简化):

isNan("10");
Run Code Online (Sandbox Code Playgroud)

我该如何解决/解决它?


编辑:

请注意,根据规范,isNan的参数可以是任何类型:Number.isNan()

另外:我的代码被简化了.我实际上收到一个参数,可能是一个字符串或一个数字,如果它是一个字符串,它可能是一个我希望转换为数字("10")的字符串数字或一个简单的字符串("Hello world") .

我不想通过包含我的整个代码来解决这个问题,但是因为它引起了混乱,这是我真正的代码:

            if (typeof expectedValue === "string" && !isNaN(expectedValue)) {
                    expectedValue = +expectedValue;
                }

            if (typeof actualValue === "string" && !isNaN(ctualValue)) {
                actualValue = +actualValue;
            }

            switch (this.operator) {
                case Operator.equal:
                    return actualValue == expectedValue;
                case Operator.notEqual:
                    return actualValue === undefined || actualValue != expectedValue;
                case Operator.greaterThan:
                    return actualValue > expectedValue;
                case Operator.littleThan:
                    return actualValue < expectedValue;
                case Operator.greaterOrEqual: …
Run Code Online (Sandbox Code Playgroud)

javascript node.js webstorm typescript

30
推荐指数
2
解决办法
2万
查看次数

如何检查节点js中的数据类型 - 特别是整数

我尝试了以下检查数据类型(特别是整数),但没有工作.

var i = "5";

if(Number(i) = 'NaN')
{
 console.log('This is not number'));
}
Run Code Online (Sandbox Code Playgroud)

javascript node.js

25
推荐指数
2
解决办法
9万
查看次数

添加到Number.MAX_VALUE

这个问题的答案可能非常明显,但我无法通过粗略搜索在Mozilla文档或谷歌上找到它.

如果你有这样的代码

Number.MAX_VALUE + 1; // Infinity, right?
Number.MIN_VALUE - 1; // -Infinity, right?
Run Code Online (Sandbox Code Playgroud)

然后我希望将任何东西添加到Number.MAX_VALUE会将其推送到Infinity.结果只是Number.MAX_VALUE吐了回来.

但是,当在Chrome JS控制台中玩游戏时,我注意到它实际上并没有实际发生,Infinity直到我添加/减去足够的内容:

Number.MAX_VALUE + Math.pow(100,1000); // now we hit Infinity
Number.MIN_VALUE - Math.pow(100,1000); // -Infinity at last
Run Code Online (Sandbox Code Playgroud)

什么是这个"缓冲"的解释Number.MAX_VALUEInfinity

javascript math floating-point infinity

13
推荐指数
2
解决办法
1912
查看次数

如果var是数字,对于脚本

我需要运行一个包含逻辑的脚本:If isNumber,Then DoSomething.

我运行其他如果然后测试,如果为空,如果单元格包含"x".它应该很简单,但我找不到解决方案.我试过getNumberFormat,innum,isnumber等.

function ifIsNumber() {

var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getActiveSheet();

var substring1 = s.getRange("A1").getNumberFormat();

s.getRange("B1").setValue(substring1);

}
Run Code Online (Sandbox Code Playgroud)

对于包含数字和文本的两个单元格,此代码检查单元格A1并在单元格B1中返回字符串"0.###############".如何识别哪些单元格是数字?

google-apps google-sheets google-apps-script

12
推荐指数
2
解决办法
2万
查看次数