You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

95 lines
2.1 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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
}