From: Kyle Schmitt Date: 2007-04-12T03:17:11+09:00 Subject: ruby rounding? Something interesting came up at work concerning rounding. Notably, that the round procedure in vb.net was good for stats (round to even), but since what the programmers expected (symmetric arithmetic rounding) was different, some edge cases were failing their tests. This got me thinking, what does Ruby use for rounding? It turns out (example below) it's symmetric arithmetic rounding. But the methods in C's math.h give the programmer a choice of which rounding method to use. Since there's so much development going on in Ruby currently, maybe something like this could be/should be added. See http://en.wikipedia.org/wiki/Rounding for details on the methods --Kyle ------------- Using this array in several languages: [-5.0, -4.5, -4.0, -3.5, -3.0, -2.5, -2.0, -1.5, -1.0, -0.5, 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5] rounded: ruby [-5, -5, -4, -4, -3, -3, -2, -2, -1, -1, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5] gcc [-5, -5, -4, -4, -3, -3, -2, -2, -1, -1, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5] vbs (ugly but I had it on hand) [-5, -4, -4, -4, -3, -2, -2, -2, -1, 0, 0, 0, 1, 2, 2, 2, 3, 4, 4, 4] vb.net (again ugly, but on hand) [-5, -4, -4, -4, -3, -2, -2, -2, -1, 0, 0, 0, 1, 2, 2, 2, 3, 4, 4, 4]