title: Scientific Notation Conversion - Scheme
body: <p>I am trying to do simple subtraction arithmetic on two very large numbers.</p>
  
  <pre><code>(- 1.8305286640724363e+023 (floor 1.8305286640724363e+023))
  </code></pre>
  
  <p>When I do this, I get a result of 0.0. I'm expecting an output of:</p>
  
  <pre><code>(- 1.8305286640724363e+023 (floor 1.8305286640724363e+023)) =&gt; .2439521
  </code></pre>
  
  <p>The expanded scientific notation would give me that answer.</p>
  
  <p>183052866407243622723319.24395251 - 183052866407243622723319.00 = .2439521</p>
  
  <p>I would like to represent these numbers as they are, with the decimal numbers in place, as opposed to scientific notation, so I can achieve the desired result. Is there a way of doing this within Scheme? Any help, guidance, or reference would be much appreciated :) </p>
  
  <p>I am using DrRacket for Windows 64bit and R5RS Language.</p>
  
  <p><strong>EDIT</strong>  </p>
  
  <p>I figured I'd be as specific as possible regarding an example of thearithmetic I'm performing.</p>
  
  <p>arithmetic:  </p>
  
  <pre><code>(* 271979577247970257395 0.6180339887) =&gt; 1.6809262297150285e+020
  </code></pre>
  
  <p>When doing this same multiplication in a calculator, the result yeilds => 168092622971502827156.7975214365</p>
  
  <p>When trying to use exact or inexact I get this:  </p>
  
  <pre><code>(exact (* 271979577247970257395 0.6180339887)) =&gt; exact: undefined;
  (inexact (* 271979577247970257395 0.6180339887)) =&gt; inexact: undefined;
  </code></pre>
  
  <p>I suppose R5RS doesn't support exact/inexact? I looked it up and examples show to use inexact->exact procedure so I did and got this:</p>
  
  <pre><code>(inexact-&gt;exact (* 271979577247970257395 0.6180339887)) =&gt; 168092622971502854144
  </code></pre>
  
  <p>And just for specificity, I did the opposite:  </p>
  
  <pre><code>(exact-&gt;inexact (* 271979577247970257395 0.6180339887)) =&gt; 1.6809262297150285e+020
  </code></pre>
  
  <p>So then I tried using Big Float as someone mentioned:</p>
  
  <pre><code>(bf-precision 128)
  (bf (* 271979577247970257395 0.6180339887)) =&gt; (bf 168092622971502854144)
  </code></pre>
  
  <p>Giving me the same output as exact. All I simply want is to save get the number I would get from a calculator and it seems like a very difficult task! I'm sorry I might sound stupid for not getting this, just keep in mind I'm an extreme amateur in SCHEME. Thanks again for your help! :)</p>