将十进制整数转换为字符串实现(Go)

    技术2026-06-04  9

    目录

    描述

    解决方案

    代码

    代码走读


     

    描述

    实现将十进制整数转换为字符串(不使用strconv包)。

     

    解决方案

    将十进制整数从个位到最高位进行拆分,将每一个位数的数字转换为字符串后再进行拼接。注意整数的正负。

     

    代码

    package main func Itoa(number int) string { result := "" positive := true if number < 0 { positive = false number = -number } for { if number < 10 { result = itoa(number) + result break } temp := number % 10 result = itoa(temp) + result number /= 10 } if !positive { result = "-" + result } return result } func itoa(number int) string { switch number { case 0: return "0" case 1: return "1" case 2: return "2" case 3: return "3" case 4: return "4" case 5: return "5" case 6: return "6" case 7: return "7" case 8: return "8" default: return "9" } }

     

    代码走读

    package main import "fmt" func Itoa(number int) string { result := ""   // positive用来记录整数的正负性。为了计算方便在记录正负性后统一将整数转换为非负数。 positive := true if number < 0 { positive = false number = -number } for { if number < 10 { result = itoa(number) + result break }   // 不断取整数的末位转换 temp := number % 10 result = itoa(temp) + result number /= 10 }   // 最后对整数的正负性做判断 if !positive { result = "-" + result } return result } // 将个位数转换为字符串 func itoa(number int) string { switch number { case 0: return "0" case 1: return "1" case 2: return "2" case 3: return "3" case 4: return "4" case 5: return "5" case 6: return "6" case 7: return "7" case 8: return "8" default: return "9" } } // 自测用例 func main() { number := 0 result := Itoa(number) fmt.Println(result) }
    Processed: 0.026, SQL: 9