Hi Willybfriendly round() works in the way one would expect it to, but the specification I'm working to is out of the ordinary. For example: if you use the round() function with 2 places of precision  i.e. round(f, 2)  on a number like this: 1.0347682119205, you would get the expected 1.03. However, my specification calls for rounding any remainders UP to the NEXT .5. Accordingly, I need 1.0347682119205 to be displayed like so: 1.50. If the number were 1.5347682119205, I need the result to be like this: 2.00. That's what I need to happen. I've looked at the different rounding functions in the PHP manual, and it looks like I might have to write my own function to evaluate the remainder and tack on a ".50" or ".00" as appropriate, but just wanted to know if anyone else has had the need to do this and has found an off the shelf solution. Neophyte

That function seems pretty long! Surely something a little shorter would have been easier? function ceil_half($num) /** Like ceil(), but in increments of 0.5 rather than 1.0. */ { return ceil($num*2)/2; } or more generally
ceil_fraction($num, $fraction) /** Like ceil(), but in increments of $fraction rather than 1.0. */ { return ceil($num/$fraction)*$fraction; } ?
map ceil_fraction(_, 1/2), [0.99, 1.00, 1.01, 1.24, 1.25, 1.49, 1.50, 1.51] => [1.00, 1.00, 1.50, 1.50, 1.50, 1.50, 1.50, 2.00] map ceil_fraction(_, 1/4), [0.99, 1.00, 1.01, 1.24, 1.25, 1.49, 1.50, 1.51] => [1.00, 1.00, 1.25, 1.25, 1.25, 1.50, 1.50, 1.75]
