2016-05-30 4 views
1

私はこのラベルの付いたビューの配列を作成しています:非常に奇妙な文字列のキャストエラー

そう
0.1, 0.2 , 0.3, 0.4 ...... 20 

を:

 var time = 0.1 
     for k in 0..<200 
     { 
       //........ 
      item.text = String(time) //*** here is the problem 

      time+=0.1 

それはになると、私はラベルにこれを取得する:

5.5 , 5.6 , 5.7 , 5.8 , 5.9, 5.99999,6.099999,6.199999 

正常に戻る10.1 10.2 ,etc

何がとても特別な約6 ?? :)

+0

それは200または20をそれ? –

+1

私はハードウェア事業に就いています:) – Curnelious

+0

@AkshanshThakurその200 coz kの増分は1のステップではない0.1 – sasquatch

答えて

3

あなたは、小数点以下の桁数は有限でキャストfloatとしてごtimeを宣言し、あまりにもそれをフロートを追加しようとすることができます。

var time = 0.1f 
... 

item.text = String(format:"%.1f", time) 
time += 0.1f 
+0

KとTimeには、私がここに示していない他の関係があります。 – Curnelious