2015-04-10 13 views
7

İkiden gelen sıfırları kaldıran işlev nedir?Swift - Çift Sıfırlama Sıfırları Kaldır Double

var double = 3.0 
var double2 = 3.10 

println(func(double)) // 3 
println(func(double2)) // 3.1 
+6

A * çift * yok ardarda sıfırları, sadece * dize temsilini *. NSNumberFormatter' veya 'String (format: ...)' a bakın. Burada hem SO için hem de bazı örnekler olmalı. –

+0

Bu örnekte olduğu gibi numberFormatter da kullanabilirsiniz: https://stackoverflow.com/questions/30663996/format-string-with-trailing-zeros-removed-for-x-decimal-places-in-swift/30664610 – wolffan

cevap

24

Sen bu şekilde yapabiliriz ama bir dize döndürür:

var double = 3.0 
var double2 = 3.10 

func forTrailingZero(temp: Double) -> String { 
    var tempVar = String(format: "%g", temp) 
    return tempVar 
} 

forTrailingZero(double) //3 
forTrailingZero(double2) //3.1 
+5

Not "% g" biçimi, sayı çok büyük olduğunda bilimsel gösterime geçer: 'forTailingZero (123456789) == 1.23457e + 08' :) –

+0

Sıfır çalışır ve gizler. Teşekkürler :) –

+0

Öneriniz için @MartinR teşekkürler. –