title: golang losing precision while converting float32 to float64?
body: <p>In Golang, it seems that when a float64 var first convert to float32 then convert float64, it's value will change.</p>
  <pre><code>a := -8888.95
  fmt.Println(a)                    // -8888.95
  fmt.Println(float32(a))           // -8888.95
  fmt.Println(float64(float32(a)))  // -8888.9501953125
  </code></pre>
  <p>How can I make it unchanging</p>