作者Blueshiva (龙野南云)
看板MacDev
标题[问题] 用split分割字串後转成Double - Restore
时间Mon Mar 18 13:00:23 2019
作者: lisa090914 (好天气,好心情~) 看板: MacDev
标题: [问题] 用split分割字串後转成Double
时间: Sat Mar 2 20:12:29 2019
我想要把两个数字以逗号隔开的字串,分开存成两个Double
例如:(input) "12,34" -> (output) 12 & 34
用split得到回传的阵列之後,因为里面是subString的形式,所以必须先转成String
然而在String(subString) 的时候,得到了这个错误讯息:
'init' has been renamed to 'init(describing:)'
修正之後,在後面转成Double时却得到nil
详细如下图
https://i.imgur.com/elcpo39.png
google到的解法是说加上 import Foundation 就能解决,但我加了错误还在QQ
另外发现 String(describing: splitedStr.first) 回传的是 "Optional("-7")" ,
我猜这应该是造成後面转成Double会得到nil的原因
想请问版上大大这个问题该怎麽排除? 感激不尽 m(_ _)m
ps. 使用环境 XCode 9.2,Swift 4.0
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.248.91.236
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1551528752.A.9B2.html
1F:推 darktt: 当然是先unwrap啊,Double的init是一定要非optional的型 03/02 20:59
2F:→ darktt: 态,你不能直接将还没unwrap的变数传进去 03/02 20:59
3F:推 darktt: 另外,无论哪个程式语言都一样,不要过度使用包洋葱的作 03/02 21:04
4F:→ darktt: 法,你无法知道这行的那边出了问题 03/02 21:04
※ Deleted by: lisa090914 (140.114.225.19) 03/02/2019 22:55:07
--
本文经原作者同意回复
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.251.43.139
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1552885230.A.6FB.html
5F:推 XXXXLAY: ! 27.247.230.142 03/18 13:08
6F:推 tentenlee: 这东西一行就可以解决了呀 220.132.180.49 03/18 15:57
8F:→ tentenlee: ?? 0的部分就看你转不成功的时候要 220.132.180.49 03/18 16:04
9F:→ tentenlee: 甚麽当预设值就好了 若要可回传null 220.132.180.49 03/18 16:04
10F:→ tentenlee: 将你的map改成compactMap就好 220.132.180.49 03/18 16:05
11F:推 tentenlee: 说错compactMap会自动把nil删除 220.132.180.49 03/18 16:07
12F:推 tentenlee: 在连结内改好并说明了 有问题再提出 220.132.180.49 03/18 16:22