本文整理匯總了Golang中github.com/pingcap/tidb/mysql.MyDecimal.FromUint方法的典型用法代碼示例。如果您正苦於以下問題:Golang MyDecimal.FromUint方法的具體用法?Golang MyDecimal.FromUint怎麽用?Golang MyDecimal.FromUint使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/pingcap/tidb/mysql.MyDecimal
的用法示例。
在下文中一共展示了MyDecimal.FromUint方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: ConvertDatumToDecimal
// ConvertDatumToDecimal converts datum to decimal.
func ConvertDatumToDecimal(d Datum) (*mysql.MyDecimal, error) {
dec := new(mysql.MyDecimal)
var err error
switch d.Kind() {
case KindInt64:
dec.FromInt(d.GetInt64())
case KindUint64:
dec.FromUint(d.GetUint64())
case KindFloat32:
err = dec.FromFloat64(float64(d.GetFloat32()))
case KindFloat64:
err = dec.FromFloat64(d.GetFloat64())
case KindString:
err = dec.FromString(d.GetBytes())
case KindMysqlDecimal:
*dec = *d.GetMysqlDecimal()
case KindMysqlHex:
dec.FromInt(d.GetMysqlHex().Value)
case KindMysqlBit:
dec.FromUint(d.GetMysqlBit().Value)
case KindMysqlEnum:
dec.FromUint(d.GetMysqlEnum().Value)
case KindMysqlSet:
dec.FromUint(d.GetMysqlSet().Value)
default:
err = fmt.Errorf("can't convert %v to decimal", d.GetValue())
}
return dec, err
}
示例2: evalAggAvg
func (e *Evaluator) evalAggAvg(v *ast.AggregateFuncExpr) {
ctx := v.GetContext()
switch ctx.Value.Kind() {
case types.KindFloat64:
t := ctx.Value.GetFloat64() / float64(ctx.Count)
v.SetValue(t)
case types.KindMysqlDecimal:
x := ctx.Value.GetMysqlDecimal()
var y, to mysql.MyDecimal
y.FromUint(uint64(ctx.Count))
mysql.DecimalDiv(x, &y, &to, mysql.DivFracIncr)
to.Round(&to, ctx.Value.Frac()+mysql.DivFracIncr)
v.SetMysqlDecimal(&to)
}
ctx.Value = *v.GetDatum()
}