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) { ...@@ -312,30 +312,54 @@ func (web *WebServicer) Calculate(w http.ResponseWriter, r *http.Request) {
requestAmountAsInt, err := strconv.ParseInt(requestAmountAsStr, 10, 64) 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 { if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest) http.Error(w, err.Error(), http.StatusBadRequest)
return return
} }
currentAmount, err := strconv.ParseInt(currentAmountStr, 10, 64) // strconv.Atoi(currentAmountStr) currentAmount, err := decimal.NewFromString(currentAmountStr)
if err != nil { if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest) http.Error(w, err.Error(), http.StatusBadRequest)
return return
} }
everyTxAmountAsInt, err := strconv.ParseInt(everyTxAmountAsStr, 10, 64) // strconv.Atoi(everyTxAmountAsStr) everyTxAmount, err := decimal.NewFromString(everyTxAmountAsStr)
if err != nil { if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest) http.Error(w, err.Error(), http.StatusBadRequest)
return return
} }
txNum, err := strconv.ParseInt(txNumStr, 10, 64) //strconv.Atoi(txNumStr) txNum, err := decimal.NewFromString(txNumStr)
if err != nil { if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest) http.Error(w, err.Error(), http.StatusBadRequest)
return 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()) 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