swift中Double轉String


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這個東東,從字符串的第一個字符開始索引,查找連續的數字字符(包含一個“.”),到第二個“.”或非數字的字符為止結束索引。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM