하나의 값에 숫자가 끝나면 (.)가 포함될 수 있으면 -2 개의 숫자를 사용할 수 있는지 알고 싶습니다.도트가있는 int 값 - Int
var numberOne: String = "21."
print(Int(numberOne) - 1)
수 없습니다, 그것은 작동하지 않습니다
나는이 같은 값이 있습니다. 그러면 내가 어떻게 할 수 있니?
하나의 값에 숫자가 끝나면 (.)가 포함될 수 있으면 -2 개의 숫자를 사용할 수 있는지 알고 싶습니다.도트가있는 int 값 - Int
var numberOne: String = "21."
print(Int(numberOne) - 1)
수 없습니다, 그것은 작동하지 않습니다
나는이 같은 값이 있습니다. 그러면 내가 어떻게 할 수 있니?
Int(numberOne)
으로의 변환이 .
때문에 실패 할 수 없으므로 불가능합니다.
var numberOne: String = "21."
print(Double(numberOne)! - 1) // 20.0
print(Float(numberOne)! - 1) // 20.0
var numberOne: String = "21."
print(Int(Double(numberOne)!) - 1)
당신은 int로 점으로 문자열을 변환 할 수 없습니다하지만 당신은 플로트로 변환 또는 더블 이들은 int로 변환 할 수 있습니다 :
Double
/Float
작동합니다.
이것은 가장 좋은 답변입니다. –
이 답변은 내 대답 @DuncanC와 어떻게 다른가요? –
다른 답변은 중간 부동 소수점 변환 사용에 초점을 둡니다.
import Foundation
var numberOne: String = "21."
if let numberAsInt = Int(numberOne.components(separatedBy: ".").first ?? "x") {
print(numberAsInt - 1) // 20
}
'debugPrint ((더블 (NUMBERONE : 대안 (당신이
Int
예에String
인스턴스를 변환 할 주어진)의 정수를 초기화 (시도) 문자열의 비 소수 부분을 분리하고 그것을 사용하는 것입니다) ?? 0) - 1)'20.0'을 출력합니다. – holex