很抱歉问这个问题,但累了之后我写在这里。我无法将golang的任何变量类型Map到cassandra的十进制类型,这是多精度的我使用了接口{},只要我不在变量中放置值,它就可以工作。当我这么做的时候,就有问题了
mbjcgjjk1#
您可以使用无限精度十进制软件包直接导入这个gopkg, import "gopkg.in/inf.v0" 假设您有一个特定的模型,它用十进制数据类型反映或绑定到scylla/cassandra表,
import "gopkg.in/inf.v0"
type TradeModel struct { Balance *inf.Dec }
要将字符串强制转换为此十进制数据类型,可以使用以下函数:
func ToDecimal(s string) *inf.Dec { d := new(inf.Dec) res, _ := d.SetString(s) return res }
看看这些例子:https://github.com/go-inf/inf/blob/master/dec.go注意:为了简单起见,我没有从setstring的返回值显式编写第二个结果。无论转换是否成功,这个参数都将返回一个布尔值,这一点很重要(在我的例子中,这已经在directhelpers中了)。
wwodge7n2#
https://github.com/gocql/gocql/blob/master/helpers.go根据这个链接,我发现golang的inf.dec类型Map到cassandra的十进制
var decimal inf.Dec
或
decimal := inf.NewDec(1, 0)
2条答案
按热度按时间mbjcgjjk1#
您可以使用无限精度十进制软件包直接导入这个gopkg,
import "gopkg.in/inf.v0"
假设您有一个特定的模型,它用十进制数据类型反映或绑定到scylla/cassandra表,要将字符串强制转换为此十进制数据类型,可以使用以下函数:
看看这些例子:https://github.com/go-inf/inf/blob/master/dec.go
注意:为了简单起见,我没有从setstring的返回值显式编写第二个结果。无论转换是否成功,这个参数都将返回一个布尔值,这一点很重要(在我的例子中,这已经在directhelpers中了)。
wwodge7n2#
https://github.com/gocql/gocql/blob/master/helpers.go
根据这个链接,我发现golang的inf.dec类型Map到cassandra的十进制
或