格式化輸出小技巧
大家知道在 C 和 OC 中想要輸出保留兩位小數的浮點數是件很容易的事,但是在 Swift 里面卻不是那么容易,那么怎么做呢?請看代碼
func format(f: String) -> String {
return String(format: "%\(f)f", self)
}
} ```
這確實不是一個優美的解決方案,但是在實際中是比較實用的。
### 本周作業
一、常量和變量的區別
二、 let dataArray=[1,7,2,5,3,9,6]求最大值,最大值的下標,平均值
三、計算1到25的奇數有多少個
四、let str="my name is tom"計算m的個數,i的下標
### 一大題
1、 常量一旦被初始化值就不能再改變,變量被初始化后值是可變的
2、當常量是引用類型時,指針本身不可改變,也就是說指針指向的地址不會變,但該地址的內部值可以被改變
3、常量用關鍵字 let 聲明,變量用 var
### 二大題
import UIKit
//給 Double 添加一個擴展,將 Double 轉換為 String ,保留 f 位小數。
extension Double
{
func format(f: String) -> String {
return String(format: "%(f)f", self)
}
}
//第二題
let dataArray = [1,7,2,5,3,9,6]
//i是數組中的元素,a是數組下標,sum是數組和,avr是數組元素平均值
var i: Int, a: Int, sum: Int, avr: Double
a = 0
sum = 0
avr = 0
i = dataArray[a]
//for in 是遍歷數組元素的循環語句,enumerated()是數組中取元素和下標的方法,index取下標,item取元素
for (index,item) in dataArray.enumerated(){
if item > i
{
i = item
a = index
}
sum = sum + item
}
//將 sum 和 數組元素個數強制轉為 Double,否則是無法賦值給 avr 的
avr = Double(sum)/Double(dataArray.count)//取數組元素個數
let f = ".2"http://設置保留小數位數
print("dataArray 最大值為(i),最大值下標為(a),平均值為(avr.format(f: f))。")
//end
### 三大題
//第三題
import UIKit
var i = 1, j = 0
while i <= 25 {
if i%2!=0 {
j = j + 1
}
i = i + 1
}
print("1到25的奇數有(j)個。")
### 四大題
//: Playground - noun: a place where people can play
import UIKit
let str = "my name is tom"
//如何取得下面該iIndex的實際數字?
let iIndex = str.characters.index(of: "i")
print(iIndex)
var i = 0, j = 0
for (index,char) in str.characters.enumerated()
{
if char == "m"
{
i += 1
}
if char == "i"
{
j = index
}
}
print("m一共有(i)個,i的下標是(j)。")