【发布时间】:2016-11-13 19:28:26
【问题描述】:
假设你有一个号码...
var number = 643
你想对它做一些数学运算。
例如,您想取最后两位数 (43),看看一个整数是否在最后两位数减去最后一位数后没有余数。
例如:
var remainder = 40 % 5 //'5' is the random integer, and 40 is the last two digits(43) minus the last digit(3)
这在 vbscript 中相当微不足道,但不知何故,作为 Swift 3 的新手,我无法在操场上完成这项工作。
如果我这样做
var number = 643
var str = (String)number
let lastChar = str.characters.last
var digit = 0
digit = Int(lastChar)
最后一行发出警告 无法使用类型为“(String.CharacterView._Element?)”的参数列表调用类型“Int”的初始化程序
有人可以帮我吗? 我无法在 30 多分钟内使用 google 找到答案,通常我会在更短的时间内很好...
谢谢你
【问题讨论】:
-
lastChar 正在尝试对 var str 做一些事情。但是 var str 是一个字符串,而不是一个 int。
-
(String)number无法编译。为什么不643 % 100得到43? -
@vadian 为什么不呢!多么优雅的解决方案。现在我需要知道如何获得数字中的位数,我应该很好。
-
@SuperWoman 你问的问题到底是什么?你提到了很多看似无关的事情。你的输入是什么,你想要的输出是什么?
-
@SuperWoman - “现在我需要知道如何获得数字中的位数” - 您可以使用以 10 为底的日志来解决这个问题。 (如果您不知道该怎么做,请提出另一个问题,说明您尝试了什么,毫无疑问有人会帮助您。)
标签: swift3 typecasting-operator