【发布时间】:2015-04-04 16:25:07
【问题描述】:
我在数据库中将高度存储为 62 或 511,而不是 6 英尺 2 或 5 英尺 11。
这就是我准备要保存的字符串的方式:
let height = 6 ft 2
let myNewString = height.stringByReplacingOccurrencesOfString(" ft ", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
println(myNewString) // 62
我现在想做的是在显示数据库中的数据时做相反的事情。
所以我想从数据库中取出返回的“62”并将这个字符串“ft”插入其中。我的目标是最终在应用程序上显示“6 ft 2”。
我该怎么做?
我想避免在我的数据库中存储两列专门用于高度的列。我只知道如何连接字符串,但这并不完全是连接字符串。我将它插入到现有的字符串中。
我希望有一种有效的方法来做到这一点。环顾四周,似乎找不到我的解决方案。
感谢您的宝贵时间。
更新:
阅读 cmets 后,我想知道在字符串中的第一个字符之后添加小数点是否会更好,例如4.2、4.10、5.4、5.11、6.2 等
let height = 6 ft 2
let myNewString = height.stringByReplacingOccurrencesOfString(" ft ", withString: ".", options: NSStringCompareOptions.LiteralSearch, range: nil)
println(myNewString) // 6.2
【问题讨论】:
-
您的表述不明确。
111可以是11 ft 1或1 ft 11。 -
最小年龄为 4 英尺 0,最大年龄为 7 英尺 11 @MartinR
-
哦!我明白你在说什么。我完全错过了。回到我的绘图板上。也许我可以在第一个字符后添加一个小数点
-
这不是模棱两可的。鉴于您所说的高度范围,第一个数字始终是英尺,其余数字(如果有)是英寸。
-
与其在格式上更聪明,不如以英寸为单位存储。如果这是目标,您甚至可以通过使用 1 字节的 int 而不是 3 字节的字符串来节省空间。
标签: ios cocoa-touch swift nsstring