本文整理汇总了Golang中code/google/com/p/godec/dec.Dec.Round方法的典型用法代码示例。如果您正苦于以下问题:Golang Dec.Round方法的具体用法?Golang Dec.Round怎么用?Golang Dec.Round使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类code/google/com/p/godec/dec.Dec
的用法示例。
在下文中一共展示了Dec.Round方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: NewFundraiserTransaction
func NewFundraiserTransaction(addr Address, value int64, time int64) (*FundraiserTransaction, error) {
tx := &FundraiserTransaction{
Addr: addr.Addr,
Time: time,
}
// Base line amount bought from fundraiser, 1 btc gets you 100 msc
mastercoinBought := dec.NewDecInt64((value * 100))
mastercoinBought.Quo(mastercoinBought, dec.NewDecInt64(1e8), dec.Scale(18), dec.RoundHalfUp)
fmt.Println("Baseline MSC Bought:", mastercoinBought)
// Bonus amount received
diff := dec.NewDecInt64(FundraiserEndTime - time)
timeDifference := diff.Quo(diff, dec.NewDecInt64(604800), dec.Scale(18), dec.RoundHalfUp)
fmt.Println("Time difference", timeDifference)
if timeDifference.Cmp(dec.NewDecInt64(0)) > 0 {
// bought += bought * (timediff * 0.1)
x := new(dec.Dec)
x.SetString("0.1")
ratio := new(dec.Dec).Mul(timeDifference, x)
fmt.Println("Ratio:", ratio)
bonus := new(dec.Dec).Mul(ratio, mastercoinBought)
bonus.Round(bonus, dec.Scale(18), dec.RoundDown)
mastercoinBought.Add(mastercoinBought, bonus)
mastercoinBought.Round(mastercoinBought, dec.Scale(8), dec.RoundHalfUp)
}
tx.Value = mastercoinBought
Logger.Println("Created fundraiser transaction", tx)
return tx, nil
}