Bug 93193 - Info function IsNumeric(Var) does not accept a leading sign in the exponent part of a number passed to it as a string.
Summary: Info function IsNumeric(Var) does not accept a leading sign in the exponent p...
Status: RESOLVED DUPLICATE of bug 98778
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: BASIC (show other bugs)
Version:
(earliest affected)
4.1.5.3 release
Hardware: Other All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisected, regression
Depends on:
Blocks:
 
Reported: 2015-08-06 12:15 UTC by Wolfgang Jäger
Modified: 2016-07-20 15:37 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
test file (8.17 KB, application/x-vnd.oasis.opendocument.spreadsheet)
2015-08-21 18:31 UTC, raal
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Wolfgang Jäger 2015-08-06 12:15:51 UTC
IsNumeric("1.234E+1") does return false. 
Expected: true

For comparison: Val("1.234E+1") will return a number equivalent to 12.34 as expected.

How to reproduce:
1. Create a new spreadsheet document.
2. Create a BASIC module 'Module1' in the 'Standard' container of the document.
3. Enter into the module the Subroutine:

Sub TestIsNum
TestStr = "1.234E+1"
Test = IsNumeric(TestStr)
TestVal = Val(TestStr)
Print TestVal
End Sub

4. Create watches for 'TestStr', 'Test', 'TestVal'.
5. Execute the Sub stepwise.
6. Observe the watches and the output.
7. Test additional strings.

Versions
The bug was not present in old vesrsions 3.3.4 and 3.6.5 tested by me.
(AOO 4.1.1 is also not afflicted.)
The bug showed up in these tested versions: 4.1.5, 5.0.0. 
I also tested some versions between to the same result.

Severity
I started to add a lot of missing functions to the pile for complex math. For cooperation with standard functions from the add-in group I need some additional conversion and parsing. I got completely stuck with the project and lost hours trying to make sure my results are reliable with the halp of IsNumeric(Var) because the Val(Var) function never reports an error. It's a mess! Now I see that IsNumeric also is just kidding.

These functions are fundamental! Standard functions must be reliable!

Important remark: Val("1,234E+1") will also accept the input but return the wrong result 12340. I will file a bug report about this as soon as I find the time. It is not acceptable that the function not even returns its silly 0 on bad input, but simply produces a result out of imagination.
Comment 1 raal 2015-08-21 18:29:56 UTC
Reproducible with Version: 5.1.0.0.alpha1+
Build ID: 6b7354ae66db40246a09e00aa876443057655a43
TinderBox: Linux-rpm_deb-x86_64@70-TDF, Branch:master, Time: 2015-08-19_01:05:16

In version "LibreOffice 3.5.0 Build ID: d6cde02" is variable Test = TRUE, regression.
Comment 2 raal 2015-08-21 18:31:02 UTC
Created attachment 118077 [details]
test file
Comment 3 Michael Weghorn 2015-08-21 22:25:55 UTC
bibisect result (using the bibisect-43all bibisect repository):
 beaf8d511be9863b1369a1889151302498fb63c9 is the first bad commit
commit beaf8d511be9863b1369a1889151302498fb63c9
Author: Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
Date:   Wed Oct 16 16:33:47 2013 +0000

    source-hash-1890f4ba4c0b345a73185adf320d06d0974f644b
    
    commit 1890f4ba4c0b345a73185adf320d06d0974f644b
    Author:     Julien Nabet <serval2412@yahoo.fr>
    AuthorDate: Wed Mar 20 13:00:45 2013 +0100
    Commit:     Noel Power <noel.power@suse.com>
    CommitDate: Wed Mar 20 12:31:19 2013 +0000
    
        coverity#704618 Explicit null dereferenced
    
        Change-Id: I9f3befc235b0fb7933294be4a97d168ef203a79c
        Reviewed-on: https://gerrit.libreoffice.org/2866
        Reviewed-by: Noel Power <noel.power@suse.com>
        Tested-by: Noel Power <noel.power@suse.com>

:100644 100644 be3490b6448e1489ff4a2ac778e937157e1f151b f58e804b4e4e5de1d4e96f5042741f3cbee44f11 M	autogen.log
:100644 100644 1017658bbaedee5f12d8074a20cfc5105760e8e6 57a18e568fce11a025fb3bf12ec8e072c4e4bda1 M	ccache.log
:100644 100644 189b1b794f8ca913cde1b6a965002f1d16243b44 40438751ede2ce9e14cafce7b8bc59e23f8a532a M	commitmsg
:100644 100644 4cb90e05143487cf32d6529850d466b68976afbd 8f2cdf5b156fbc34a2379b8c01f19b4e2d79bb76 M	dev-install.log
:100644 100644 e9b5ca3eeafaa9de87942235903d01a20f36a678 1ca85b5a3ce5bc816b3c31ef16c001d9461b56bd M	make.log
:040000 040000 3ecf10d08fd68e3db506183cf4b10ec819b3fb65 0da86a14d50ac26eca6455270bdaded29732e010 M	opt

---

$ git bisect log
# bad: [423a84c4f7068853974887d98442bc2a2d0cc91b] source-hash-c15927f20d4727c3b8de68497b6949e72f9e6e9e
# good: [a71a4447320f177181c9cff9f7c6fd93802cbd8e] source-hash-9afb6e1e38c362a768e8e981f7b03cf8bcaf22cf
git bisect start 'latest' 'last36onmaster'
# bad: [f2554751603ad8537257b3cf52d6171056c76eeb] source-hash-f42768fe0b60ecbbe9c68d775329bf28c0690131
git bisect bad f2554751603ad8537257b3cf52d6171056c76eeb
# good: [c826604de689fbabd8b1b8ea41396694e99a23d4] source-hash-32acb98b3fb6acb4712f7195cf5ea1bd69c9c6b4
git bisect good c826604de689fbabd8b1b8ea41396694e99a23d4
# bad: [e818f97b99709bcedf56865e733647666cfae09c] source-hash-66e39940d763586060c4bcc8c3cd213495c40b79
git bisect bad e818f97b99709bcedf56865e733647666cfae09c
# bad: [3142334d94a2c49f484453556493532e4a994002] source-hash-0644a20605965b36fcc983e4c1158820fd858726
git bisect bad 3142334d94a2c49f484453556493532e4a994002
# bad: [e4d64d0e812c23aac47a221ca1c3171c72d2ed6d] source-hash-3c61c08757208fb9735814dd62ac80f23cf51b86
git bisect bad e4d64d0e812c23aac47a221ca1c3171c72d2ed6d
# good: [1c8ce1b905c9fd78415d666f7f0d9b39bd99a431] source-hash-eceecd4a3806f64c2e8fb0a3bcdcc43e1384779f
git bisect good 1c8ce1b905c9fd78415d666f7f0d9b39bd99a431
# good: [641bbb33ec862e71bfbf4f3fddc9bc6970a56feb] source-hash-918f8ed91e325606a44d088da5fbbf8c463dffba
git bisect good 641bbb33ec862e71bfbf4f3fddc9bc6970a56feb
# good: [238338bc4111eb82429ea47384d4012bcd7cdc3e] source-hash-b6ba04639b9922f6717f79ac4be215e09691d7a9
git bisect good 238338bc4111eb82429ea47384d4012bcd7cdc3e
# bad: [beaf8d511be9863b1369a1889151302498fb63c9] source-hash-1890f4ba4c0b345a73185adf320d06d0974f644b
git bisect bad beaf8d511be9863b1369a1889151302498fb63c9
# good: [b4f9a40b6379147f4da8a0697a9b29d2f661a8c9] source-hash-d0314afa2fef363eba06e98c70ecdc83e690dcd0
git bisect good b4f9a40b6379147f4da8a0697a9b29d2f661a8c9
# first bad commit: [beaf8d511be9863b1369a1889151302498fb63c9] source-hash-1890f4ba4c0b345a73185adf320d06d0974f644b
Comment 4 Robinson Tryon (qubit) 2015-12-13 11:13:10 UTC
Migrating Whiteboard tags to Keywords: (bibisected)
[NinjaEdit]
Comment 5 Caolán McNamara 2016-07-20 15:37:47 UTC

*** This bug has been marked as a duplicate of bug 98778 ***