2018-11-23 Swift 開發(fā) 千分位的添加

// 添加千分位的函數(shù)(解決余數(shù)不足三位要補0的BUG)

?? ?func addMicrometerLevel(valueSwift:String) ->String{

? ? ? ? // 判斷傳入?yún)?shù)是否有值

? ? ? ? ifvalueSwift.characters.count!=0{

? ? ? ? ? ? /**

?? ? ? ? ? ? 創(chuàng)建兩個變量

?? ? ? ? ? ? integerPart : 傳入?yún)?shù)的整數(shù)部分

?? ? ? ? ? ? decimalPart : 傳入?yún)?shù)的小數(shù)部分

?? ? ? ? ? ? */

? ? ? ? ? ? varintegerPart:String?

? ? ? ? ? ? vardecimalPart =String.init()

? ? ? ? ? ? // 先將傳入的參數(shù)整體賦值給整數(shù)部分

? ? ? ? ? ? integerPart =? valueSwift

? ? ? ? ? ? // 然后再判斷是否含有小數(shù)點(分割出整數(shù)和小數(shù)部分)

? ? ? ? ? ? ifvalueSwift.contains(".") {

? ? ? ? ? ? ? ? letsegmentationArray = valueSwift.components(separatedBy:".")

? ? ? ? ? ? ? ? integerPart = segmentationArray.first

? ? ? ? ? ? ? ? decimalPart = segmentationArray.last!

? ? ? ? ? ? }


? ? ? ? ? ? /**

?? ? ? ? ? ? 創(chuàng)建臨時存放余數(shù)的可變數(shù)組

?? ? ? ? ? ? */

? ? ? ? ? ? letremainderMutableArray =NSMutableArray.init(capacity:0)

? ? ? ? ? ? // 創(chuàng)建一個臨時存儲商的變量

? ? ? ? ? ? vardiscussValue:Int32=0

? ? ? ? ? ? /**

?? ? ? ? ? ? 對傳入?yún)?shù)的整數(shù)部分進行千分拆分

?? ? ? ? ? ? */

? ? ? ? ? ? repeat{

? ? ? ? ? ? ? ? lettempValue = integerPart!asNSString

? ? ? ? ? ? ? ? varremainderValue =0

????????????????????//解決余數(shù)不足三位要補0的BUG

? ? ? ? ? ? ? ? iftempValue.intValue >= 1000{

? ? ? ? ? ? ? ? ? ? // 獲取商

? ? ? ? ? ? ? ? ? ? discussValue = tempValue.intValue / 1000

? ? ? ? ? ? ? ? ? ? // 獲取余數(shù)

? ? ? ? ? ? ? ? ? ? remainderValue =Int(tempValue.intValue % 1000)

? ? ? ? ? ? ? ? ? ? // 將余數(shù)一字符串的形式添加到可變數(shù)組里面

? ? ? ? ? ? ? ? ? ? varremainderStr =String.init(format:"%d", remainderValue)

? ? ? ? ? ? ? ? ? ? ifremainderStr.count==1{

? ? ? ? ? ? ? ? ? ? ? ? remainderStr ="00"+ remainderStr

? ? ? ? ? ? ? ? ? ? }else if remainderStr.count==2{

? ? ? ? ? ? ? ? ? ? ? ? remainderStr ="0"+ remainderStr

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? remainderMutableArray.insert(remainderStr, at:0)

? ? ? ? ? ? ? ? ? ? // 將商重新復(fù)制

? ? ? ? ? ? ? ? ? ? integerPart =String.init(format:"%d", discussValue)

? ? ? ? ? ? ? ? }else{

? ? ? ? ? ? ? ? ? ? // 獲取余數(shù)

? ? ? ? ? ? ? ? ? ? remainderValue =Int(tempValue.intValue%1000)

? ? ? ? ? ? ? ? ? ? // 將余數(shù)一字符串的形式添加到可變數(shù)組里面

? ? ? ? ? ? ? ? ? ? letremainderStr =String.init(format:"%d", remainderValue)

? ? ? ? ? ? ? ? ? ? remainderMutableArray.insert(remainderStr, at:0)

? ? ? ? ? ? ? ? ? ? // 將商重新復(fù)制

? ? ? ? ? ? ? ? ? ? integerPart =String.init(format:"%d", discussValue)

? ? ? ? ? ? ? ? ? ? break

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }whilediscussValue>0

? ? ? ? ? ? // 創(chuàng)建一個臨時存儲余數(shù)數(shù)組里的對象拼接起來的對象

? ? ? ? ? ? vartempString =String.init()

? ? ? ? ? ? // 根據(jù)傳入?yún)?shù)的小數(shù)部分是否存在,是拼接“.” 還是不拼接""

? ? ? ? ? ? letlastKey = (decimalPart.characters.count==0?"":".")

? ? ? ? ? ? /**

?? ? ? ? ? ? 獲取余數(shù)組里的余數(shù)

?? ? ? ? ? ? */

? ? ? ? ? ? foriin0..

? ? ? ? ? ? ? ? // 判斷余數(shù)數(shù)組是否遍歷到最后一位

? ? ? ? ? ? ? ? let? param = (i != remainderMutableArray.count-1?",":lastKey)

? ? ? ? ? ? ? ? tempString = tempString +String.init(format:"%@%@", remainderMutableArray[i]as!String,param)

? ? ? ? ? ? }

? ? ? ? ? ? //? 清楚一些數(shù)據(jù)

? ? ? ? ? ? integerPart =nil

? ? ? ? ? ? remainderMutableArray.removeAllObjects()

? ? ? ? ? ? // 最后返回整數(shù)和小數(shù)的合并

? ? ? ? ? ? returntempStringasString+ decimalPart

? ? ? ? }

? ? ? ? returnvalueSwift

? ? }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容