swift中Double转String

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

swift上手有好几天了。发现swift除了本身的几个基本类型转换,一些比较特殊的数值类型转换需要“桥接”到Objective-C来进行~

代码当然也很简单~

var numString = "1.0"

var numDouble:Double

numDouble = String.bridgeToObjectiveC(numString)().doubleValue

//相当于objective-c的" numdouble = [numString doubleValue] "

//numDouble值为:1.0

如果numString不是“数字”字符,而是其他字符呢?

var numString = "abc"

var numDouble:Double

numDouble = String.bridgeToObjectiveC(numString)().doubleValue

//numDouble值为:0.0

这种情况不会引起编译器的异常。继续看以下的几种情况:

var numString1 = "1.5abc"

var numString2 = "2.abc0"

var numString3 = "abc3.0"

var numDouble:Double

numDouble = String.bridgeToObjectiveC(numString1)().doubleValue

//numDouble1值为:1.5

numDouble = String.bridgeToObjectiveC(numString2)().doubleValue

//numDouble2值为:2.0

numDouble = String.bridgeToObjectiveC(numString3)().doubleValue

//numDouble3值为:0.0

可以看出,doubleValue这个东东,从字符串的第一个字符开始索引,查找连续的数字字符(包含一个“.”),到第二个“.”或非数字的字符为止结束索引。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航