diff --git a/math.go b/math.go index 75d903e..341ab3e 100755 --- a/math.go +++ b/math.go @@ -4,6 +4,7 @@ import ( "fmt" "math/big" "strconv" + "strings" ) //字节自动转换为B/KB/MB/GB @@ -129,3 +130,29 @@ func FloatQuo(str ...interface{}) float64 { ret, _ = strconv.ParseFloat(fmt.Sprintf("%."+places+"f", ret), 64) return ret } + +/** + * 十进制转十六进制 + */ +func TenToHex(ten int) string { + m := 0 + hex := make([]int, 0) + for { + m = ten % 16 + ten = ten / 16 + if ten == 0 { + hex = append(hex, m) + break + } + hex = append(hex, m) + } + hexStr := []string{} + for i := len(hex) - 1; i >= 0; i-- { + if hex[i] >= 10 { + hexStr = append(hexStr, fmt.Sprintf("%c", 'A'+hex[i]-10)) + } else { + hexStr = append(hexStr, fmt.Sprintf("%d", hex[i])) + } + } + return strings.Join(hexStr, "") +} diff --git a/math_test.go b/math_test.go index 3c43f03..a550fd5 100644 --- a/math_test.go +++ b/math_test.go @@ -42,3 +42,9 @@ func Test_FloatQuo(t *testing.T) { ret := FloatQuo(str1, str2, 3) t.Log(ret) } + +func Test_TenToHex(t *testing.T) { + str1 := 10664 + ret := TenToHex(str1) + t.Log(ret) +} diff --git a/string_test.go b/string_test.go index 0395baf..6f4dddd 100755 --- a/string_test.go +++ b/string_test.go @@ -42,8 +42,8 @@ func Test_ToString(t *testing.T) { t.Log(ret) } -func Test_ToInt(t *testing.T) { - var str interface{} = 45 - ret := ToInt(str) +func Test_StrFirstToUpper(t *testing.T) { + var str string = "departmentID" + ret := StrFirstToUpper(str) t.Log(ret) }