ich den folgenden Code-Schnipsel haben:Wie kann ich Division zwingen, Gleitpunkt in Go zu sein?
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)
}
Für -a 3 und -b 2-Befehlszeilenargumente, ist die Ausgabe: %!f(int=1)
Was die beste/elegante Art und Weise ist es, diese Teilung zu zwingen, Gleitpunkt sein?
Ihre zweite Option führt zwar nicht zu einer Gleitkommadivision, sondern konvertiert nur das Ergebnis der Ganzzahldivision in Fließkommazahl. –
@JamesHenstridge: Das OP las "force * this division * to floating point". Für mich könnte das so oder so gelesen werden und liest eigentlich Ganzzahl-Divison in Fließkomma. Alles, was aus dem Beispielcode bekannt war, war, dass das Ergebnis der Teilung schwebend sein sollte, um in printf zu gehen - somit waren beide Möglichkeiten möglich, also habe ich beide einbezogen. – bishop
konvertieren eines von ihnen (entweder der Zähler oder der Nenner) ist ausreichend. – nishanths