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  }