swift中提供了一个方法可以快速将十进制转为其他进制但是这个方法仅限于2-36进制之间比如:let number = 6664538181143920600//十进制转二进制let conver2Str = String.init(number, radix: 2, uppercase: false)...
swift中提供了一个方法可以快速将十进制转为其他进制
但是这个方法仅限于2-36进制之间
比如:
let number = 6664538181143920600 //十进制转二进制 let conver2Str = String.init(number, radix: 2, uppercase: false) print("101110001111101001100100010101001011111000111000111111111011000") //十进制十六进制 let conver8Str = String.init(number, radix: 16, uppercase: false) print("5c7d322a5f1c7fd8")
但是美团外卖有个出餐码,需要将十进制转为62进制,这个方法就不能满足,所以就自己写了一个方法来转:
func converIntRadix62(number: Int, radix: Int) -> String { var intNo = number let digits = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" var result = "" while intNo > 0 { let idx = digits.index(digits.startIndex, offsetBy: Int(intNo % radix)) let digit = digits[idx] var digitStr = "" digitStr.append(digit) result = digitStr + result intNo = intNo / radix } return result } //十进制转62进制 let conver16Str = converIntRadix62(number: number, radix: 62) print("4VeFjRhKx8")
沃梦达教程
本文标题为:iOS 进制转换(十进制转62进制)
猜你喜欢
- iOS 对当前webView进行截屏的方法 2023-03-01
- SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
- Flutter实现底部和顶部导航栏 2022-08-31
- Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
- Android实现轮询的三种方式 2023-02-17
- 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14
- Android实现监听音量的变化 2023-03-30
- 详解flutter engine 那些没被释放的东西 2022-12-04
- 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
- Android studio实现动态背景页面 2023-05-23