Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

DZone's Guide to

# Neo4j & Cypher: Rounding a Float Value to Decimal Places

· Java Zone ·
Free Resource

Comment (0)

Save
{{ articles[0].views | formatCount}} Views

About 6 months ago, Jacqui Read created a github issue explaining how she wanted to round a float value to a number of decimal places but was unable to do so due to the round function not taking the appropriate parameter.

I found myself wanting to do the same thing last week where I initially had the following value:

`RETURN toFloat("12.336666") AS value`

I wanted to round that to 2 decimal places and Wes suggested multiplying the value before using ROUND and then dividing afterwards to achieve that.

For two decimal places we need to multiply and divide by 100:

```WITH toFloat("12.336666") AS value
RETURN round(100 * value) / 100 AS value```
`12.34`

Michael suggested abstracting the number of decimal places like so:

```WITH 2 as precision
WITH toFloat("12.336666") AS value, 10^precision AS factor
RETURN round(factor * value)/factor AS value```

If we want to round to 4 decimal places we can easily change that:

```WITH 4 as precision
WITH toFloat("12.336666") AS value, 10^precision AS factor
RETURN round(factor * value)/factor AS value```
`12.3367`

The code is available as a graph gist too if you want to play around with it. And you may as well check out the other gists while you’re at it – enjoy!

BloomReach CMS: the API-first CMS of the future. Open-source & enterprise-grade. - As a Java developer, you will feel at home using Maven builds and your favorite IDE (e.g. Eclipse or IntelliJ) and continuous integration server (e.g. Jenkins). Manage your Java objects using Spring Framework, write your templates in JSP or Freemarker. Try for free.

Topics:

Comment (0)

Save
{{ articles[0].views | formatCount}} Views

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.