|
|
package convert
|
|
|
|
|
|
import "strconv"
|
|
|
|
|
|
// StrToBool convert string to a boolean
|
|
|
func (c *Conv) StrToBool(str string) (bool, error) {
|
|
|
return strconv.ParseBool(str)
|
|
|
}
|
|
|
|
|
|
// StrToInt 字符串转int类型,当存在defaultNum时,出现异常会返回设置的默认值,若不出现异常正常返回
|
|
|
func (c *Conv) StrToInt(str string, defaultNum ...int) int {
|
|
|
num, err := strconv.Atoi(str)
|
|
|
if err != nil {
|
|
|
if len(defaultNum) > 0 {
|
|
|
return defaultNum[0]
|
|
|
} else {
|
|
|
return 0
|
|
|
}
|
|
|
}
|
|
|
return num
|
|
|
}
|
|
|
|
|
|
// StrToInt64 StrNum需要转换的字符串
|
|
|
// defaultNum默认值
|
|
|
// String类型转int64
|
|
|
func (c *Conv) StrToInt64(strNum string, defaultNum ...int64) int64 {
|
|
|
num, err := strconv.ParseInt(strNum, 10, 64)
|
|
|
if err != nil {
|
|
|
if len(defaultNum) > 0 {
|
|
|
return defaultNum[0]
|
|
|
} else {
|
|
|
return 0
|
|
|
}
|
|
|
}
|
|
|
return num
|
|
|
}
|
|
|
|
|
|
// StrToInt32 StrNum需要转换的字符串
|
|
|
// defaultNum默认值
|
|
|
// String类型转int64
|
|
|
func (c *Conv) StrToInt32(strNum string, defaultNum ...int32) int32 {
|
|
|
num, err := strconv.ParseInt(strNum, 10, 32)
|
|
|
if err != nil {
|
|
|
if len(defaultNum) > 0 {
|
|
|
return defaultNum[0]
|
|
|
} else {
|
|
|
return 0
|
|
|
}
|
|
|
}
|
|
|
return int32(num)
|
|
|
}
|
|
|
|
|
|
// StrToFloat32 String转float32位
|
|
|
// strFloat 需要转的字符串
|
|
|
// defaultFloat 默认值,若没有出现转换异常直接返回0.0
|
|
|
func (c *Conv) StrToFloat32(strFloat string, defaultFloat ...float32) float32 {
|
|
|
float, err := strconv.ParseFloat(strFloat, 32)
|
|
|
if err != nil {
|
|
|
if len(defaultFloat) > 0 {
|
|
|
return defaultFloat[0]
|
|
|
} else {
|
|
|
return 0.0
|
|
|
}
|
|
|
}
|
|
|
return float32(float)
|
|
|
}
|
|
|
|
|
|
// StrToFloat64 String转float64位
|
|
|
// strFloat 需要转的字符串
|
|
|
// defaultFloat 默认值,若没有出现转换异常直接返回0.0
|
|
|
func (c *Conv) StrToFloat64(strFloat string, defaultFloat ...float64) float64 {
|
|
|
float, err := strconv.ParseFloat(strFloat, 36)
|
|
|
if err != nil {
|
|
|
if len(defaultFloat) > 0 {
|
|
|
return defaultFloat[0]
|
|
|
} else {
|
|
|
return 0.0
|
|
|
}
|
|
|
}
|
|
|
return float
|
|
|
}
|
|
|
|
|
|
// StrToSlice convert string to char slice
|
|
|
func (c *Conv) StrToSlice(str string) []string {
|
|
|
sls := make([]string, 0)
|
|
|
if len(str) == 0 {
|
|
|
sls = append(sls, "")
|
|
|
}
|
|
|
for _, v := range str {
|
|
|
sls = append(sls, string(v))
|
|
|
}
|
|
|
return sls
|
|
|
|
|
|
}
|