title: Floating point precision with Math.Ceil (Java)
body: <p>I'm implementing a business rule to calculate a percentage increase on a stock level:</p>
  
  <pre><code>Stock level | Percentage Increase | Expected output
      100     |           93        |        193
  </code></pre>
  
  <p>As decimal stock levels are not well defined the rule is to round up the output:</p>
  
  <pre><code>public int calculateStockLevel(int rawStockLevel, double percentageIncrease) {
      return Math.ceil(rawStockLevel * (1 + (percentageIncrease / 100));
  }
  </code></pre>
  
  <p>Actual output for the situation above: <code>194</code> (The test fails)</p>
  
  <p>This looks like a floating point precision error, whats an elegant &amp; readable way to get this test to pass?</p>