Issue 76213 - {=ISNUMBER(ref)} returns TRUE only
Summary: {=ISNUMBER(ref)} returns TRUE only
Status: CLOSED DUPLICATE of issue 72508
Alias: None
Product: Calc
Classification: Application
Component: editing (show other issues)
Version: OOo 2.1
Hardware: All All
: P3 Trivial (vote)
Target Milestone: ---
Assignee: ooo
QA Contact: issues@sc
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-04-10 00:03 UTC by villeroy
Modified: 2013-08-07 15:14 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description villeroy 2007-04-10 00:03:44 UTC
{=ISNUMBER(range)} returns TRUE for all elements whereas {=ISERR(range)},
{=ISERROR(range)} and {=ISTEXT(range)} seem to work as expected.
Comment 1 villeroy 2007-04-10 00:06:03 UTC
More precisely: ISNUMBER in array context returns TRUE for errors.
Comment 2 ooo 2007-04-11 11:45:25 UTC
Grabbing issue.
Comment 3 ooo 2007-04-11 12:26:48 UTC
Adding keyword easy2dev for developers looking for something to work on. Code is
in sc/source/core/tool/interpr1.cxx method ScInterpreter::ScIsValue(), in the
case of svMatrix before calling pMat->IsValue(...) it has to be checked whether
the value is in fact an error value, like

if (pMat->GetErrorIfNotString(...) == 0)
    nRes = pMat->IsValue(...);

Additionally, in methods ScInterpreter::ScIsNV(), ScInterpreter::ScIsErr() and
ScInterpreter::ScIsError(), the expressions using
GetDoubleErrorValue(pMat->GetDouble(...)) must be changed to
pMat->GetErrorIfNotString(...) to avoid the tiny but not impossible chance of an
arbitrary error value being assumed in case the matrix element was in fact a string.
Comment 4 ooo 2007-04-11 12:30:25 UTC
hmblgrmbl.. I knew this was familiar..

*** This issue has been marked as a duplicate of 72508 ***
Comment 5 ooo 2007-04-11 12:31:11 UTC
Closing dup.