Splunk Search

tonumber() not working on scientific notation

999chris
New Member

Hi All,

I am indexing a file with JSON and epoch values on the JSON are written in scientific notation

An example of a field I that is parsed by Splunk:

incStart: "1.4848974e+12"

Which is seen as a string. In the event view window however it is show as an integer (or long): alt text
I've seen using eval incStartInt = tonumber(incStart) should work, but its not creating a new field with the value as an integer.

Am I doing something wrong? I'm using Splunk 6.5.2

0 Karma

Graham_Hanningt
Builder

You wrote:

I am indexing a file with JSON
...
incStart: "1.4848974e+12"

I'm curious. I doubt that this is a verbatim example of the JSON in the input file, because it's not JSON: in JSON—as opposed to a JavaScript object literal—you must enclose property names, such as incStart, in quotes.

And then, you enclose the numeric value in quotes, as if it were a string value. Are you really enclosing that value in quotes in the JSON (JSON Lines?) input file?

If so—and if you have any control over the format of that input file—then do this instead:

"incStart": 1.4848974e+12

Splunk (I'm currently using 7.3) correctly ingests such numbers in scientific notation in JSON.

0 Karma

laudai
Path Finder

HI 999chris

you can try this

 | makeresults |eval incStart= "1.4848974e+12" 
 |fieldformat incStartint =tonumber(incStart)

but you can't use fieldformat to do this

 | makeresults |eval incStart= "1.4848974e+12" | eval inStart1="1.23457e+10"
 |foreach inStart[fieldformat <<FIELD>>=tonumber(<<FIELD>>)]

If you have more column to number ,you can try this search

 | makeresults |eval incStart= "1.4848974e+12" | eval inStart1="1.23457e+10"
 |foreach inStart[fieldformat <<FIELD>>=tonumber(<<FIELD>>)]
0 Karma

s2_splunk
Splunk Employee
Splunk Employee

This works for me: alt text

Are you sure the field as it is extracted from JSON is in fact a string (i.e. is shown in the list of interesting fields with a 'a' prefix)?
If it is extracted as a number (which would make sense, given the value), the event viewer value is simply wrong (assuming it is from the same event than your example string representation.

0 Karma
Get Updates on the Splunk Community!

Stay Connected: Your Guide to May Tech Talks, Office Hours, and Webinars!

Take a look below to explore our upcoming Community Office Hours, Tech Talks, and Webinars this month. This ...

They're back! Join the SplunkTrust and MVP at .conf24

With our highly anticipated annual conference, .conf, comes the fez-wearers you can trust! The SplunkTrust, as ...

Enterprise Security Content Update (ESCU) | New Releases

Last month, the Splunk Threat Research Team had two releases of new security content via the Enterprise ...