我正在尝试计算一行中包含“有效”值的单元格数量。该值的有效性有很多标准。到目前为止我有这个:
COUNTIFS(INDEX(S2ScoresAssQ1,ROW()-4,0),"<>",S2UnitSelectorQ1,"<>2",S2CodeAssQ1,O$2)
Run Code Online (Sandbox Code Playgroud)
但是,满足所有要求并包含计算结果为“”的公式的单元格仍然被计数,而它们不应该被计数。换句话说,某些单元格包含以下公式:
=IF(H5<>"",H5*I$3/H$3,"")
Run Code Online (Sandbox Code Playgroud)
如果其计算结果为数字,则应对其进行计数。如果它的计算结果为“”,则不应将其计算在内。ISNUMBER 可以工作,但我不知道如何将其放入 COUNTIFS 中。
这是一个例子:
单元格 F4 应显示“1”,因为只有一个有效的“A”分配。F 列(单元格 F3)中的代码是:
=COUNTIFS(B$2:E$2,F$2,B3:E3,"<>")
Run Code Online (Sandbox Code Playgroud)
E 列(单元格 E3)的代码为:
=IF(ISNUMBER(D3),D3/12,"")
Run Code Online (Sandbox Code Playgroud) 我注意到 PHPis_numeric()接受“E”作为数字。我有一个字符串:“ 88205052E00”,我希望结果是:NOT numeric。
这是我测试的代码。
<?php
$notnumber = '88205052E00';
if(is_numeric($notnumber)) {
echo $notnumber . ' is a number';
} else {
echo $notnumber . ' is NOT a number';
}
?>
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了结果:
88205052E00 is a number
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到结果:88205052E00 is NOT a number?
我试图检测一个或多个变量是否包含数字.我尝试过几种不同的方法,但我还没有完全成功.
这是我尝试过的.
<?php
$one = '1';
$two = '2';
$a1 = '3';
$a2 = '4';
$a3 = '5';
$string_detecting_array = array();
array_push($string_detecting_array, $one,$two,$a1,$a2,$a3);
foreach ($string_detecting_array as $key) {
if (is_numeric($key)) {
echo 'Yes all elements in array are type integer.';
}
else {
echo "Not all elements in array were type integer.";
}
}
?>
Run Code Online (Sandbox Code Playgroud)
我没有成功使用这种方法.有任何想法吗?先感谢您!
Progress 4GL 是否有测试字符串是否为数字的函数,如 PHP 的 is_numeric($foo) 函数?
我在http://knowledgebase.progress.com/articles/Article/P148549看到了函数示例来测试字符串中的字符是否为数字。看起来它有一个错字,顺便说一句。
但我认为该语言将是一个内置函数。
我需要从函数检查给定的文本是否为数字。
创建功能isnumeric():
CREATE OR REPLACE FUNCTION isnumeric(text) RETURNS BOOLEAN AS $$
DECLARE x NUMERIC;
BEGIN
x = $1::NUMERIC;
RETURN TRUE;
EXCEPTION WHEN others THEN
RETURN FALSE;
END;
$$ LANGUAGE plpgsql IMMUTABLE;
Run Code Online (Sandbox Code Playgroud)
我从中调用该isnumeric()函数的函数:
create or replace function tm(var text)
returns varchar as
$$
begin
if (select isnumeric(var))=t::BOOLEAN then
raise info 'Is numeric value';
else
raise info 'Not numeric';
end if;
end;
$$
language plpgsql;
Run Code Online (Sandbox Code Playgroud)
呼叫functon:
select tm('1');
Run Code Online (Sandbox Code Playgroud)
出现错误:
错误详细信息如下:
ERROR: column "t" does not exist
LINE 1: …Run Code Online (Sandbox Code Playgroud) 我试图做一些应该非常简单的事情并检查Entry字段中的值是否是有效和实数.该str.isnumeric()方法不考虑" - "负数或".".十进制数.
我尝试为此编写一个函数:
def IsNumeric(self, event):
w = event.widget
if (not w.get().isnumeric()):
if ("-" not in w.get()):
if ("." not in w.get()):
w.delete(0, END)
w.insert(0, '')
Run Code Online (Sandbox Code Playgroud)
这可以正常工作,直到你回去并在那里键入字母.然后就失败了.
我研究了使用该.split()方法的可能性,但我无法找到一个可靠的正则表达式来处理它.
这是一件非常正常的事情.有任何想法吗?
请解释为什么以下代码随机行为
下面的代码行TRUE应该在返回时返回FALSE
?Isnumeric("555-")
也
?Isnumeric("555-"/2) 回报 TRUE
请解释这种随机行为IsNumeric?
我有一个变量来保存一个 id
Dim empId as String
Run Code Online (Sandbox Code Playgroud)
因此,有效 ID 的格式为:
'the first character should be a letter [A-Z]
'the rest of the string are digits e.g M2895 would be a valid id
Run Code Online (Sandbox Code Playgroud)
我想检查这些字符中的每一个,看看它们是否适合 ID
到目前为止,我已经遇到了这个isNumeric()功能。VB.NET 中是否有类似的函数来检查字符是字符串还是字母字符?
似乎简单的比较符号>,>=及其反向组件可以评估某个变量是否为数字.例$whatami='beast'; ($whatami<0)?echo 'NaN':echo 'is numeric!';
是否存在正值(数量> 0)is_numeric()需要使用的情况?似乎使用上面的比较符号将确定变量是否为数字.
对这个简单的查询非常恼火...
我需要为varchar添加一个偏移量,如果它是一个数字而什么都不做,那就不是了.
出于这个原因,我在SQL-server中创建了以下函数.然后我提取答案:
select dbo.OffsetKPL("100",200)
但是这不起作用,我得到了错误
消息207,级别16,状态1,行1
无效的列名称"100".
该功能的代码如下......
ALTER FUNCTION [dbo].[OffsetKPL](
@kpl varchar(20)
,@offset int = 0
)
RETURNS varchar(20)
AS
BEGIN
DECLARE @uitkomst varchar(20);
set @uitkomst = @kpl;
if not(@offset = 0) begin
if (IsNumeric(@uitkomst) = 1) begin
set @uitkomst = cast((cast(@kpl as int) + @offset) as varchar);
end;
end;
RETURN @uitkomst;
END
Run Code Online (Sandbox Code Playgroud)
怎么了?没有任何地方声明IsNumeric不接受变量.
isnumeric ×10
php ×3
excel ×2
validation ×2
alpha ×1
arrays ×1
countif ×1
evaluation ×1
excel-vba ×1
math ×1
numbers ×1
numeric ×1
plpgsql ×1
postgresql ×1
progress-4gl ×1
python ×1
python-3.x ×1
regex ×1
sql-server ×1
string ×1
vb.net ×1
vba ×1