문자열에서 정수로 가져오고 싶습니다. 내 문제는 지금 int 값을 얻을 것이다 있지만 쉼표 뒤에 번호를 표시 못해. 문자열이 -0,23 인 경우 int보다 0이 인쇄됩니다.이 문제를 해결할 수 있습니까? 도와주세요.Int는 쉼표 뒤에 숫자를 표시하지 않습니다.
let int = (percent_change_24hArray[indexPath.row] as NSString).integerValue
문자열에서 정수로 가져오고 싶습니다. 내 문제는 지금 int 값을 얻을 것이다 있지만 쉼표 뒤에 번호를 표시 못해. 문자열이 -0,23 인 경우 int보다 0이 인쇄됩니다.이 문제를 해결할 수 있습니까? 도와주세요.Int는 쉼표 뒤에 숫자를 표시하지 않습니다.
let int = (percent_change_24hArray[indexPath.row] as NSString).integerValue
당신은 float를 사용할 필요가, 정수는 쉼표 당신은 아마 당신의 로케일 설정하는 것이위한 NumberFormatter
, 사용해야 할 것입니다 https://developer.apple.com/documentation/swift/float
후 번호를하지 않습니다. 미국에서 소수 구분 기호는 마침표입니다. (".") 쉼표는 구분 기호로 간주됩니다.
또한 소수 구분 기호가 쉼표 인 로캘에 있다고 가정하면 정수로 변환하면 소수 구분 기호 뒤에 부분이 자릅니다.
코드 아래 코드는 작동합니다 같은 :
이var str = "-0,23"
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
formatter.locale = Locale(identifier: "fr_FR")
let aVal = formatter.number(from: str)?.doubleValue
(프랑스 소수 구분 기호로 쉼표를 사용하기 때문에 내가 로케일로 프랑스의 프랑스어를 사용하고 있습니다.) 당신이 생각해야
주 로켈을 처리하는 방법을 결정하기 위해 숫자 문자열의 출처에 대해주의 깊게 살펴보십시오. 이것이 사용자가 입력 한 문자열이라면 장치의 기본 로케일로 숫자 포맷터를 사용해야합니다. 그렇게하면 유럽 사용자는 쉼표를 소수 구분 기호로 사용할 수 있고 미국 사용자는 마침표를 소수 구분 기호로 사용할 수 있으며 둘 다 사용할 수 있습니다.
문자열이'-0,23 '이면 어떤 정수 결과를 기대합니까? –
-> Swift에서 NSString을 사용하지 마십시오. – Alexander