javascript - 从 10 进制转换为 2 到 36 之间的任意进制 Go

标签 javascript string go

<分区>

如何在围棋中将 10 进制转换为 2-36 进制?

在javascript中你只是

Number.toString(radix?)

例如

变量号 = 12345; console.log(my_number.toString(36).toUpperCase());

在 go 中,这是实现相同效果的方法

func convertToAnyBase2to36(num int64, base int64) string {
    var len int64 = base
    var source_string = []string{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "J", "I", "J", "K",
    "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X","Y","Z"}
    code := "";
    for {
        if num <= 0 {
            break
        }
        mod := num % len;
        num = (num - mod) / len;
        code =  source_string[mod]+code;
    }
    return code
}

例如

fmt.Println(convertToAnyBase2to36(12354,2))

最佳答案

在 Go 中你有 strconv.FormatInt() (和 strconv.FormatUint() ):

fmt.Println(strconv.FormatInt(12345, 2))
fmt.Println(strconv.FormatInt(12345, 16))
fmt.Println(strconv.FormatInt(12345, 32))

这将输出(在 Go Playground 上尝试):

11000000111001
3039
c1p

关于javascript - 从 10 进制转换为 2 到 36 之间的任意进制 Go,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57649632/

相关文章:

javascript - 使 URL 在单个 HTML 表列中的 JS 中可点击? (CSV 解析为 HTML 表)

javascript - 我如何获取一个对象的所有属性并将它们插入到它自己的对象数组属性中?

android - 库依赖资源覆盖 Android 中的主要源集

c - 字符串复制问题

python - 为字符串的长度创建一个变量是否更快?

javascript - 一个周末学习JavaScript?

javascript - 在网络应用程序中使用 Google Talk 插件

go - UUID 的 Sha1 十六进制 - 用作访问 token

curl - 来自 cURL 和 Golang POST 的不同响应 - 不明白为什么

go - 无法更新具有一对多关联的模型