Splunk Search

Rounding Currency to Two Digits After Decimal

msettipane
Splunk Employee
Splunk Employee

I am attempting to round my currency figures to two decimal places whether or not the amount ends with zeros (e.g., $4.00, $0.10); however, it is returning $4 and $0.1.

I am using the following search command: eval cost = "$ " . tostring(round(count*.02, 2), "commas").

Tags (1)
1 Solution

Marklar
Splunk Employee
Splunk Employee

Doing this correctly requires some knowledge about significant figures and precision.

In multiplying by the number .02 (which has 1 significant figure), you limit your result to 1 significant figure. The precision is then set from that result.

What you seem to be looking for is exact arithmetic with a precision of 2. The exact() function forces a number to have maximum sigfigs and precision, while the round() function can force your precision. Assuming that count is a non-negative integer, this solution should work for you:

eval cost = "$ " . tostring(round(count*exact(.02), 2), "commas")

View solution in original post

Marklar
Splunk Employee
Splunk Employee

Doing this correctly requires some knowledge about significant figures and precision.

In multiplying by the number .02 (which has 1 significant figure), you limit your result to 1 significant figure. The precision is then set from that result.

What you seem to be looking for is exact arithmetic with a precision of 2. The exact() function forces a number to have maximum sigfigs and precision, while the round() function can force your precision. Assuming that count is a non-negative integer, this solution should work for you:

eval cost = "$ " . tostring(round(count*exact(.02), 2), "commas")

marco_sulla
Path Finder

IMHO this is completely unexpected and unwanted in the majority of cases. It is supposed this is not a framework for physical calcula...

0 Karma
Get Updates on the Splunk Community!

New in Observability - Improvements to Custom Metrics SLOs, Log Observer Connect & ...

The latest enhancements to the Splunk observability portfolio deliver improved SLO management accuracy, better ...

Improve Data Pipelines Using Splunk Data Management

  Register Now   This Tech Talk will explore the pipeline management offerings Edge Processor and Ingest ...

3-2-1 Go! How Fast Can You Debug Microservices with Observability Cloud?

Register Join this Tech Talk to learn how unique features like Service Centric Views, Tag Spotlight, and ...