我和math/big一起工作。
我想知道是否有人知道如何将string的数字(如"2023930943509509" )转换为big.Rat类型的值。
我知道.SetString()可以用于big.Int类型,但是Rat类型也可以这样做吗?
发布于 2017-07-04 18:46:43
您不必背诵这些方法和函数,无论何时查找这些方法和函数,请查看包文档。有关包的文档可以在这里找到:math/big。
正如您在文档中所看到的,也有一个用于big.Rat类型的big.Rat方法,可以用于此目的:
SetString(s字符串)(*鼠,bool) SetString将z设置为s的值,并返回z和指示成功的布尔值。S可以用分数"a/b“表示,也可以用浮点数表示,后面跟着指数。整个字符串(不仅仅是前缀)必须有效才能成功。如果操作失败,则z的值未定义,但返回的值为零。
使用它的示例:
r := big.NewRat(1, 1)
if _, ok := r.SetString("2023930943509509"); !ok {
fmt.Println("Failed to parse the string!")
}
fmt.Println(r)
fmt.Println(r.FloatString(2))输出(在围棋游乐场上尝试):
2023930943509509/1
2023930943509509.00https://stackoverflow.com/questions/44911902
复制相似问题