Ios 显示带小数点和不带小数点的标签中的双精度

Ios 显示带小数点和不带小数点的标签中的双精度,ios,swift,double,textfield,decimal-point,Ios,Swift,Double,Textfield,Decimal Point,要查看最佳答案,请向下滚动至Paulw11的答案。 (我为任何英语错误道歉,这不是我的第一语言) 为了继续开发我的应用程序,我需要解决这个问题 ,我有一张截图。(我知道,这很难看,我正在设置约束。) 问题是:即使数字是整数,它仍然显示为有理数。(例如:4显示为4.0,16显示为16.0) 我想要的是: 当文本字段中的数字是整数时,我希望它不带小数点。(4显示为4,16显示为16) 当textfield中的数字是有理数时,我希望它与属于它的小数点一起出现。(4.2显示为4.2,2.5显示为2.5

要查看最佳答案,请向下滚动至Paulw11的答案。

(我为任何英语错误道歉,这不是我的第一语言)

为了继续开发我的应用程序,我需要解决这个问题

,我有一张截图。(我知道,这很难看,我正在设置约束。)

问题是:即使数字是整数,它仍然显示为有理数。(例如:4显示为4.0,16显示为16.0)

我想要的是:

  • 当文本字段中的数字是整数时,我希望它不带小数点。(4显示为4,16显示为16)
  • 当textfield中的数字是有理数时,我希望它与属于它的小数点一起出现。(4.2显示为4.2,2.5显示为2.5)
我不想发生的事情:

  • 四舍五入。这会毁了数学。正如我所说,4.22必须是4.22。但4.0只需要4

我将非常感谢您的帮助。

您想要这样的东西吗

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

您只需使用
%g
格式选项:

deltaValueS.text = String(format:"∆ é %g",deltaValue)
  • 对于4.0,这将给出“∆ "4"
  • 对于4.123,这将给出“∆ “4.123”

请您发布一些代码好吗?这可能是您需要的:不,@Asdrubal,我不想舍弃它。这是Objective-C,不是吗?因为我是编程新手,所以更难……“将“”一种语言翻译为另一种语言。我也没有找到任何解决方案。@Bienemann,我将简化:
var deltaValue:Double=0//var for the math@IBOutlet弱var deltaValueS:UILabel//用于保存值deltaValue=(valueBint!*valueBint!)-(4*valueAint!*valueCint!)deltaValueS.text=”的标签∆ é“+deltaValue.description
这非常有效!我非常感谢你的回答,这正是我想要的。非常感谢。哇!这比Vlad的答案更有效。减少工作量和人物数量。非常感谢,谢谢!