2015-04-10 5 views
7

Jaką funkcję usuwa zerowe zera?Swift - Usuń sprowadzające się zera z podwójnej linii

var double = 3.0 
var double2 = 3.10 

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

A * Podwójne * nie ma zer, tylko jego reprezentację ciąg * *. Spójrz na 'NSNumberFormatter' lub' String (format: ...) '. Powinno być już kilka przykładów dla obu tutaj na SO. –

+0

Można również użyć metody numberFormatter, jak w tym przykładzie: https://stackoverflow.com/questions/30663996/format-string-with-trailing-zeros-removed-for-x-decimal-places-in-swift/30664610 – wolffan

Odpowiedz

24

Można zrobić to w ten sposób, ale będzie zwracać ciąg:

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

Uwaga że format "% g" przełącza się na notację naukową, jeśli liczba staje się zbyt duża: 'forTailingZero (123456789) == 1.23457e + 08' :) –

+0

Działa i ukrywa zera. Dziękuję :) –

+0

Dzięki @MartinR za sugestię. –

Powiązane problemy