在带有 AND 且不带小数点的标签中显示双打
Showing Doubles in Labels with AND without the decimal-point
要查看最佳答案,请向下滚动到 Paulw11 的答案。
(对于任何英语错误,我深表歉意,这不是我的第一语言)
我需要解决这个问题才能继续开发我的应用程序。
Here,我截图了。 (我知道,这很丑,我正在设置约束。)
问题是:即使数字是整数,它仍然显示为有理数。 (例如:4 显示为 4.0,16 显示为 16.0)
我想要的是:
- 当文本字段中的数字是整数时,我希望它不带小数点出现。 ( 4 显示为 4, 16 显示为 16)
- 当文本域中的数字是有理数时,我希望它以属于它的小数点出现。 (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”
要查看最佳答案,请向下滚动到 Paulw11 的答案。
(对于任何英语错误,我深表歉意,这不是我的第一语言)
我需要解决这个问题才能继续开发我的应用程序。
Here,我截图了。 (我知道,这很丑,我正在设置约束。)
问题是:即使数字是整数,它仍然显示为有理数。 (例如:4 显示为 4.0,16 显示为 16.0)
我想要的是:
- 当文本字段中的数字是整数时,我希望它不带小数点出现。 ( 4 显示为 4, 16 显示为 16)
- 当文本域中的数字是有理数时,我希望它以属于它的小数点出现。 (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”