# Neo4j: Cypher - Rounding a float value to decimal places

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 http://docs.neo4j.org/chunked/stable/query-functions-mathematical.html#functions-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!