title: Scientific notation String to BigDecimal
body: <p>I have external hardware which will send me their values with scientific notation like this: <code>5.312E+03</code>
  However I receive this as a String and need to cast it to a BigDecimal.
  doing this:</p>
  
  <pre><code>String value = "5.312E+03";
  BigDecimal amount = new BigDecimal(String);
  </code></pre>
  
  <p>I get the following value <code>5312</code>. BigDecimal will remove the <code>E+03</code> and also remove the dot from the original Value. And I was wondering why and how to force BigDecimal to not do that.</p>
  
  <p>When I give the variable <code>value</code> the following: <code>5.312</code> it will stay like this as BigDecimal.</p>
  
  <p>Also just giving <code>5.312E</code> will naturally cause a <code>NumberFormatException</code></p>
  
  <p>Here is some StackTrace to show this Behaviour:</p>
  
  <pre><code>2017-06-13 09:05:13,713 TRACE [SCTLaboratoryDevice] [] (SCT) received data: 600+6.513E+03
  2017-06-13 09:05:13,714 INFO  [SCTLaboratoryDevice] [] (SCT) filtered value: 6.513E+03
  2017-06-13 09:05:13,718 DEBUG [SCTLaboratoryDevice] [] (SCT) send WebSocket{amount=TcpAmountImpl [value=6513, unit=null]} on channel SCT
  2017-06-13 08:57:34,351 TRACE [CTLaboratoryDevice] [] (SCT) received data: 600+6.513E+03
  2017-06-13 08:57:34,351 INFO  [SCTLaboratoryDevice] [] (SCT) filtered value: 6.513E
  2017-06-13 08:57:34,352 SEVERE [SCTLaboratoryDevice] [] (SCT) null: java.lang.NumberFormatException
      at java.math.BigDecimal.&lt;init&gt;(BigDecimal.java:596)
      at java.math.BigDecimal.&lt;init&gt;(BigDecimal.java:383)
      at java.math.BigDecimal.&lt;init&gt;(BigDecimal.java:806)
  2017-06-13 08:56:28,260 TRACE [SCTLaboratoryDevice] [] (SCT) received data: 600+6.513E+03
  2017-06-13 08:56:28,260 INFO  [SCTLaboratoryDevice] [] (SCT) filtered value: 6.513
  2017-06-13 08:56:28,260 DEBUG [SCTLaboratoryDevice] [] (SCT) send WebSocket {amount=TcpAmountImpl [value=6.513, unit=null]} on channel SCT
  </code></pre>
  
  <p>Do I have a mistake in my thoughts about BigDecimal and scientific notation or how do I make BigDecimal accept the original value <code>5.312E+03</code> correctly?</p>