猿问

Go中的实数

如何在 Go 中使用实数?

例如:

(627.71/640.26)^(1/30) = 0.999340349 --> correct result

但随着围棋:

fmt.Print(math.Pow((627.71 / 640.26), (1 / 30))) = 1 --> wrong


大话西游666
浏览 73回答 1
1回答

眼眸繁星

使用浮点(实数)而不是整数除法。例如,package mainimport (    "fmt"    "math")func main() {    fmt.Print(math.Pow((627.71 / 640.26), (1.0 / 30.0)))}游乐场:https://play.golang.org/p/o7uVw9doaMu输出:0.999340348749526package mainimport "fmt"func main() {    fmt.Println(1 / 30)     // integer division    fmt.Println(1.0 / 30.0) // floating-point division}游乐场:https://play.golang.org/p/VW9vilCC9M8输出:00.03333333333333333Go 编程语言规范整数文字浮点字面量算术运算符整数运算符对于两个整数值x和y,整数商q = x / y和余数r = x % y满足以下关系:x = q*y + r  and  |r| < |y|x / y 截断为零(“截断除法”)。
随时随地看视频慕课网APP

相关分类

Go
我要回答