github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/misc/util.go (about) 1 package misc 2 3 import ( 4 "fmt" 5 "strconv" 6 7 "github.com/sirupsen/logrus" 8 ) 9 10 const ( 11 PersonType string = "1" 12 CompayType string = "2" 13 ) 14 15 func Float64ToInt64(i float64) (int64, error) { 16 strTemp := fmt.Sprintf("%.f", i*100) 17 num, err := strconv.ParseInt(strTemp, 10, 64) 18 if err != nil { 19 logrus.Warningf("bal to int64 fail[err:%v]", err) 20 return 0, err 21 } 22 return num, nil 23 } 24 25 func Int64ToFloat64(i int64) (float64, error) { 26 strTemp := fmt.Sprintf("%.2f", float64(i)/float64(100)) 27 num, err := strconv.ParseFloat(strTemp, 64) 28 if err != nil { 29 logrus.Errorf("bal to float64 fail[err:%v]", err) 30 return 0, err 31 } 32 return num, nil 33 } 34 35 // Convert int64 to float64 and round to two decimals 36 // Return string type. 37 func Int64ToFloat64String(i int64) string { 38 return fmt.Sprintf("%.2f", float64(i)/float64(100)) 39 }