HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 在Swift中将字符转换为Int大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个项目,其中包括使用 Damm Algorithm验证Int输入的校验和.我设法创建了一个操作表,我访问表中值的方法涉及传递临时值和数字以通过在列值中.
.

self.tableToUse[interim,checkSumArraY[i]]

不幸的是,当我试图将输入中的数字传递给get / set方法时,我遇到了麻烦,我找不到将字符转换为Ints的方法.

func encode(number: int) -> Int{
    var checkSumArray = [Int]()
    if number > 99999999 {
        println("number is too large")
        return 0
    }
    else if number < 0 {
        println("invalid input")
        return 0
    }
    else {
        checkSumArray.append(number%(10))
        checkSumArray.append((number%(100)-checkSumArray[0])/10)
        checkSumArray.append((number%(1000)-checkSumArraY[1])/100)
        checkSumArray.append((number%(10000)-checkSumarray[2])/1000)
        checkSumArray.append((number%(100000)-checkSumArraY[3])/10000)
        checkSumArray.append((number%(1000000)-checkSumArraY[4])/100000)
        checkSumArray.append((number%(10000000)-checkSumarray[5])/1000000)
        checkSumArray.append((number%(100000000)-checkSumArraY[6])/10000000)
        checkSumArray = checkSumArray.reverse()

        var interim: Int = 0

        for i in 0..<checkSumArray.count{
            interim = self.tableToUse[interim,checkSumArraY[i]]
        }
        return interim
    }
}

正如你所看到的,我不得不采用一种非常讨厌的方式处理这个问题.它有效,但它非常有限,效率低下,看起来或维护起来很难看.我已经看过在我构建的DAMM表中使用Characters而不是Ints的选项,并改变了get / set方法来处理那些,但这是很多额外的工作,可能会引入其他问题.任何有关处理此问题的替代方法的建议,或将字符转换为Ints的方法都将受到赞赏.

谢谢!

解决方法

没有必要使用字符,但你的代码创建一个
具有输入数字的十进制数字的数组可以大大@L_874_14@
简化:

var checkSumArray = [Int]()
var tmp = number
while tmp > 0 {
    checkSumArray.append(tmp % 10)
    tmp /= 10
}
checkSumArray = checkSumArray.reverse()
@H_673_31@

大佬总结

以上是大佬教程为你收集整理的ios – 在Swift中将字符转换为Int全部内容,希望文章能够帮你解决ios – 在Swift中将字符转换为Int所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。