golang字符或者数字或者float64转数字

/**
字符或者数字或者float64转数字
*/
func StrOrIntOrFloat64ToInt(par interface{}) int {
	if par == "" || par == nil {
		return 0
	}
	IntNum, ok := par.(int)
	if ok {
		return IntNum
	}
	IntStr, ok2 := par.(string)
	if ok2 {
		IntStr = strings.TrimSpace(IntStr)
		if strings.Contains(IntStr, ".") {
			strArr := strings.Split(IntStr, ".")
			IntStr = strArr[0]
		}
		lastNum, error2 := strconv.Atoi(IntStr)
		if error2 == nil {
			return lastNum
		}
	}
	F64Num, ok := par.(float64)
	if ok {
		Int64Num := int64(F64Num)
		strInt64 := strconv.FormatInt(Int64Num, 10)
		IntNum, err2 := strconv.Atoi(strInt64)
		if err2 == nil {
			return IntNum
		}
	}
	return 0
}

你可能感兴趣的:(代码)