2016-07-22 1 views
2

최상의 답변을 확인하려면 Paulw11의 대답으로 스크롤하십시오.레이블에 소수점이있는 AND를 사용하여 복식 표시

내가 내 응용 프로그램을 지속적으로 개발하기 위해이 문제를 해결하기 위해 필요

(내가 어떤 영어 실수에 대해 사과, 내 첫번째 언어 아니다).

Here, 스크린 샷이 있습니다. (저는 추한 데요, 제약 조건을 설정하고 있습니다.)

문제는 다음과 같습니다. 숫자가 정수 인 경우에도 여전히 합리적인 것으로 표시됩니다. (예는 : 4 나타납니다 (16) 16.0로, 4.0로)

내가 원하는 것은 :

  • 텍스트 필드에 숫자가 정수 때, 나는 그것이 소수 점없이 표시 할. (4는 4로 표시되고 16은 16으로 표시됩니다.)
  • 텍스트 필드의 숫자가 이성적 인 경우,이 필드가 속하는 소수점과 함께 나타나길 원합니다. 내가 일하지 않으려는 무엇 (4.2 4.2 나타납니다, 2.5 2.5)

: 숫자 라운드

  • . 이것은 수학을 망칠 것입니다. 내가 말했듯이 4.22는 4.22 여야합니다. 그러나 4.0은 4 일 필요가 있습니다.

매우 도움이 될 것입니다. 고맙습니다.

+0

몇 가지 코드를 게시 할 수 있습니까? – Lahav

+0

이것은 아마도 당신이 필요로하는 것입니다 : http://stackoverflow.com/a/6813241/2687360 – Bienemann

+0

아니요, @Asdrubal, 나는 그것을 돌고 싶지 않아. –

답변

1

당신은 단순히 %g 서식 옵션을 사용할 수 있습니다 : "Δ é 4.123" 줄 것이다

deltaValueS.text = String(format:"∆ é %g",deltaValue) 
  • 가 4.0이 "Δ 전자 4"를 줄 것이다 4.123이 들어
+0

와우! 이것은 블라드의 대답보다 효과적입니다. 작업 및 문자를 줄입니다. 매우 고맙습니다, 감사합니다! –

-1

원하십니까?

let numberA: Float = 1.234 
let numberB: Float = 7.000 

func getStringFromNumber(number: Float) -> String { 
    if number - Float(Int(number)) == 0 { 
     return String("\(Int(number))") 
    } else { 
     return String("\(number)") 
    } 
} 

print(getStringFromNumber(numberA)) // console output: 1.234 
print(getStringFromNumber(numberB)) // console output: 7 
+0

이렇게 잘되었습니다! 나는 당신의 대답에 대해 매우 감사하고 싶습니다. 고맙습니다! –