Commit 72d31252 authored by 李伟@五瓣科技's avatar 李伟@五瓣科技

fix big num

parent 29ccae8b
......@@ -312,30 +312,54 @@ func (web *WebServicer) Calculate(w http.ResponseWriter, r *http.Request) {
requestAmountAsInt, err := strconv.ParseInt(requestAmountAsStr, 10, 64)
// if err != nil {
// http.Error(w, err.Error(), http.StatusBadRequest)
// return
// }
// currentAmount, err := strconv.ParseInt(currentAmountStr, 10, 64) // strconv.Atoi(currentAmountStr)
// if err != nil {
// http.Error(w, err.Error(), http.StatusBadRequest)
// return
// }
// everyTxAmountAsInt, err := strconv.ParseInt(everyTxAmountAsStr, 10, 64) // strconv.Atoi(everyTxAmountAsStr)
// if err != nil {
// http.Error(w, err.Error(), http.StatusBadRequest)
// return
// }
// txNum, err := strconv.ParseInt(txNumStr, 10, 64) //strconv.Atoi(txNumStr)
// if err != nil {
// http.Error(w, err.Error(), http.StatusBadRequest)
// return
// }
requestAmount, err := decimal.NewFromString(requestAmountAsStr)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
currentAmount, err := strconv.ParseInt(currentAmountStr, 10, 64) // strconv.Atoi(currentAmountStr)
currentAmount, err := decimal.NewFromString(currentAmountStr)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
everyTxAmountAsInt, err := strconv.ParseInt(everyTxAmountAsStr, 10, 64) // strconv.Atoi(everyTxAmountAsStr)
everyTxAmount, err := decimal.NewFromString(everyTxAmountAsStr)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
txNum, err := strconv.ParseInt(txNumStr, 10, 64) //strconv.Atoi(txNumStr)
txNum, err := decimal.NewFromString(txNumStr)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
res := decimal.NewFromInt(requestAmountAsInt).Add(decimal.NewFromInt(currentAmount)).Sub(decimal.NewFromInt(everyTxAmountAsInt).Mul(decimal.NewFromInt(txNum)))
res := requestAmount.Add(currentAmount).Sub(everyTxAmount.Mul(txNum))
fmt.Printf("len(resAsJson): %v \n", res.String())
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment