I have the following code snippet:
package main
import("fmt";"flag")
func main() {
var a = flag.Int("a",0,"divident")
var b = flag.Int("b",1,"divisor")
flag.Parse()
fmt.Printf("%f",*a / *b )
}
For -a 3 and -b 2 command line arguments, the output is: %!f(int=1)
What is the best / most elegant way to force this division to be floating point?
There are no implicit type casts for variables in Go, so you must convert to float:
fmt.Printf("%f", float32(a)/float32(b))
or
fmt.Printf("%f", float32(a/b))
Depending upon what you want. Also check out float64
-- if that floats your boat.