title: Error in either `/` or round functions from base R
body: <p>I have been trying to make a contribution to the <code>data.table</code> package by adding the <code>round</code> function to the <code>ITime</code> class, when i came across a rather odd discrepancy produced by the <code>round</code> function. Behind the scenes, an object of class <code>ITime</code> is just an integer vector with pretty formatting, and thus <code>unclass(object)</code> provides an integer vector.</p>
  
  <p>Rounding this integer vector to the nearest minute can thus be done like this:</p>
  
  <pre><code>x &lt;- as.ITime(seq(as.POSIXct("2020-01-01 07:00:00"), as.POSIXct("2020-01-01 07:10:00"), "30 sec"))
  
  round(unclass(x) / 60L) * 60L
  # or 
  round(as.integer(x) / 60L) * 60L
  </code></pre>
  
  <p>Here is where the problem comes...</p>
  
  <p>When I do this operation, I would expect any instance of <code>unclass(x) / 60</code> that ends with .5 to be rounded up. However, that is not the case!</p>
  
  <p><a href="https://i.stack.imgur.com/oz1pO.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/oz1pO.png" alt="enter image description here"></a></p>
  
  <p>I have tried the example on both Windows and Mac on two different computers with the same result. Does anyone have an idea as to why this would happen?</p>
  
  <p>** FYI I know that this particular problem can be solved differently: <code>unclass(x) %/% 60L</code>. But my interest is in why the <code>round</code> function does not work as expected.</p>