123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375 |
- package yu_strconv
- // ParseInt32
- //
- // @Description: 解析 s 字符串对应的 i 值,s 可以是 "-" 开头
- func ParseInt32(s string) (i int32) {
- var j_neg bool
- for j_i := 0; j_i < len(s); j_i++ {
- if s[j_i] >= '0' && s[j_i] <= '9' {
- i = i*10 + int32(s[j_i]) - 48
- } else if j_i == 0 && s[j_i] == '-' {
- j_neg = true
- } else {
- break
- }
- }
- if j_neg {
- i = -i
- }
- return
- }
- // ParseUint32
- //
- // @Description: 解析 s 字符串对应的 i 值
- func ParseUint32(s string) (i uint32) {
- for j_i := 0; j_i < len(s); j_i++ {
- if s[j_i] >= '0' && s[j_i] <= '9' {
- i = i*10 + uint32(s[j_i]) - 48
- } else {
- break
- }
- }
- return
- }
- // ParseInt64
- //
- // @Description: 解析 s 字符串对应的 i 值,s 可以是 "-" 开头
- func ParseInt64(s string) (i int64) {
- var j_neg bool
- for j_i := 0; j_i < len(s); j_i++ {
- if s[j_i] >= '0' && s[j_i] <= '9' {
- i = i*10 + int64(s[j_i]) - 48
- } else if j_i == 0 && s[j_i] == '-' {
- j_neg = true
- } else {
- break
- }
- }
- if j_neg {
- i = -i
- }
- return
- }
- // ParseUint64
- //
- // @Description: 解析 s 字符串对应的 i 值
- func ParseUint64(s string) (i uint64) {
- for j_i := 0; j_i < len(s); j_i++ {
- if s[j_i] >= '0' && s[j_i] <= '9' {
- i = i*10 + uint64(s[j_i]) - 48
- } else {
- break
- }
- }
- return
- }
- // ParseInt
- //
- // @Description: 解析 s 字符串对应的 i 值,s 可以是 "-" 开头
- func ParseInt(s string) (i int) {
- var j_neg bool
- for j_i := 0; j_i < len(s); j_i++ {
- if s[j_i] >= '0' && s[j_i] <= '9' {
- i = i*10 + int(s[j_i]) - 48
- } else if j_i == 0 && s[j_i] == '-' {
- j_neg = true
- } else {
- break
- }
- }
- if j_neg {
- i = -i
- }
- return
- }
- // ParseUint
- //
- // @Description: 解析 s 字符串对应的 i 值
- func ParseUint(s string) (i uint) {
- for j_i := 0; j_i < len(s); j_i++ {
- if s[j_i] >= '0' && s[j_i] <= '9' {
- i = i*10 + uint(s[j_i]) - 48
- } else {
- break
- }
- }
- return
- }
- // ParseUintptr
- //
- // @Description: 解析 s 字符串对应的 i 值
- func ParseUintptr(s string) (i uintptr) {
- for j_i := 0; j_i < len(s); j_i++ {
- if s[j_i] >= '0' && s[j_i] <= '9' {
- i = i*10 + uintptr(s[j_i]) - 48
- } else {
- break
- }
- }
- return
- }
- var formatDigits = []uint8{
- '9', '8', '7', '6', '5', '4', '3', '2', '1',
- '0',
- '1', '2', '3', '4', '5', '6', '7', '8', '9',
- }
- // FormatByte
- //
- // @Description: 编码 i 值对应的字符串
- func FormatByte(i byte) string {
- if i == 0 {
- return "0"
- }
- j_s := make([]byte, 3)
- j_si := 2
- for ; i != 0; i /= 10 {
- j_s[j_si] = formatDigits[9-i%10]
- j_si--
- }
- j_si++
- return string(j_s[j_si:])
- }
- // FormatInt8
- //
- // @Description: 编码 i 值对应的字符串
- func FormatInt8(i int8) string {
- if i == 0 {
- return "0"
- }
- j_neg := i < 0
- j_s := make([]byte, 4)
- j_si := 3
- for ; i != 0; i /= 10 {
- j_s[j_si] = formatDigits[9-i%10]
- j_si--
- }
- if j_neg {
- j_s[j_si] = '-'
- } else {
- j_si++
- }
- return string(j_s[j_si:])
- }
- // FormatUint8
- //
- // @Description: 编码 i 值对应的字符串
- func FormatUint8(i uint8) string {
- if i == 0 {
- return "0"
- }
- j_s := make([]byte, 3)
- j_si := 2
- for ; i != 0; i /= 10 {
- j_s[j_si] = formatDigits[9-i%10]
- j_si--
- }
- j_si++
- return string(j_s[j_si:])
- }
- // FormatInt16
- //
- // @Description: 编码 i 值对应的字符串
- func FormatInt16(i int16) string {
- if i == 0 {
- return "0"
- }
- j_neg := i < 0
- j_s := make([]byte, 6)
- j_si := 5
- for ; i != 0; i /= 10 {
- j_s[j_si] = formatDigits[9-i%10]
- j_si--
- }
- if j_neg {
- j_s[j_si] = '-'
- } else {
- j_si++
- }
- return string(j_s[j_si:])
- }
- // FormatUint16
- //
- // @Description: 编码 i 值对应的字符串
- func FormatUint16(i uint16) string {
- if i == 0 {
- return "0"
- }
- j_s := make([]byte, 5)
- j_si := 4
- for ; i != 0; i /= 10 {
- j_s[j_si] = formatDigits[9-i%10]
- j_si--
- }
- j_si++
- return string(j_s[j_si:])
- }
- // FormatInt32
- //
- // @Description: 编码 i 值对应的字符串
- func FormatInt32(i int32) string {
- if i == 0 {
- return "0"
- }
- j_neg := i < 0
- j_s := make([]byte, 11)
- j_si := 10
- for ; i != 0; i /= 10 {
- j_s[j_si] = formatDigits[9-i%10]
- j_si--
- }
- if j_neg {
- j_s[j_si] = '-'
- } else {
- j_si++
- }
- return string(j_s[j_si:])
- }
- // FormatUint32
- //
- // @Description: 编码 i 值对应的字符串
- func FormatUint32(i uint32) string {
- if i == 0 {
- return "0"
- }
- j_s := make([]byte, 10)
- j_si := 9
- for ; i != 0; i /= 10 {
- j_s[j_si] = formatDigits[9-i%10]
- j_si--
- }
- j_si++
- return string(j_s[j_si:])
- }
- // FormatInt64
- //
- // @Description: 编码 i 值对应的字符串
- func FormatInt64(i int64) string {
- if i == 0 {
- return "0"
- }
- j_neg := i < 0
- j_s := make([]byte, 20)
- j_si := 19
- for ; i != 0; i /= 10 {
- j_s[j_si] = formatDigits[9-i%10]
- j_si--
- }
- if j_neg {
- j_s[j_si] = '-'
- } else {
- j_si++
- }
- return string(j_s[j_si:])
- }
- // FormatUint64
- //
- // @Description: 编码 i 值对应的字符串
- func FormatUint64(i uint64) string {
- if i == 0 {
- return "0"
- }
- j_s := make([]byte, 20)
- j_si := 19
- for ; i != 0; i /= 10 {
- j_s[j_si] = formatDigits[9-i%10]
- j_si--
- }
- j_si++
- return string(j_s[j_si:])
- }
- // FormatInt
- //
- // @Description: 编码 i 值对应的字符串
- func FormatInt(i int) string {
- if i == 0 {
- return "0"
- }
- j_neg := i < 0
- j_s := make([]byte, 20)
- j_si := 19
- for ; i != 0; i /= 10 {
- j_s[j_si] = formatDigits[9-i%10]
- j_si--
- }
- if j_neg {
- j_s[j_si] = '-'
- } else {
- j_si++
- }
- return string(j_s[j_si:])
- }
- // FormatUint
- //
- // @Description: 编码 i 值对应的字符串
- func FormatUint(i uint) string {
- if i == 0 {
- return "0"
- }
- j_s := make([]byte, 20)
- j_si := 19
- for ; i != 0; i /= 10 {
- j_s[j_si] = formatDigits[9-i%10]
- j_si--
- }
- j_si++
- return string(j_s[j_si:])
- }
- // FormatUintptr
- //
- // @Description: 编码 i 值对应的字符串
- func FormatUintptr(i uintptr) string {
- if i == 0 {
- return "0"
- }
- j_s := make([]byte, 20)
- j_si := 19
- for ; i != 0; i /= 10 {
- j_s[j_si] = formatDigits[9-i%10]
- j_si--
- }
- j_si++
- return string(j_s[j_si:])
- }
- // ParseBool
- //
- // @Description: 返回由字符串表示的布尔值。它接受 1、t、T、true、TRUE、True、0、f、F、false、FALSE、False 。
- func ParseBool(str string) bool {
- switch str {
- case "1", "t", "T", "true", "TRUE", "True":
- return true
- case "0", "f", "F", "false", "FALSE", "False":
- return false
- }
- return false
- }
- // FormatBool
- //
- // @Description: 根据b的值返回“true”或“false”。
- func FormatBool(b bool) string {
- if b {
- return "true"
- }
- return "false"
- }
|