0
我有一个浮点数,我们想截断小数部分,但不确定最简单的方法来做到这一点。只是拿起斯威夫特,大部分的想法似乎太涉及。目前我有:如何截断浮点数到一个int或不小数位
details.details.append((titles[2], "\(averageAnnualSolarProduction) kW"))
但这是给了我一小部分,我想要删除。
我有一个浮点数,我们想截断小数部分,但不确定最简单的方法来做到这一点。只是拿起斯威夫特,大部分的想法似乎太涉及。目前我有:如何截断浮点数到一个int或不小数位
details.details.append((titles[2], "\(averageAnnualSolarProduction) kW"))
但这是给了我一小部分,我想要删除。
我们需要两件事情结合起来:
String
的format:
初始floor
操作,这将确保我们的十进制数不围捕。如果我们想保持这些操作在网上,我们想要的东西,看起来像这样:
details.details.append((titles[2], String(format: "%.0f kW", floor(averageAnnualSolarProduction))))
但是,这是一个很大的括号。看起来好一点,如果我们对此有点不安。
let solarProduction = String(format: "%.0f kW", floor(averageAnnualSolarProduction))
details.details.append((titles[2], solarProduction))
为了清楚这里,floor
接受一些像3.89
和返回比传递在更小的最大整数,所以它会回到这里3.0
。
为了确保我们不打印.0
,我们使用String
的format:
初始值设定项,它采用格式字符串和参数。这与格式化字符串至少工作起来一样有效。%f
指定我们的参数是浮点数,并且.0
指定我们将在小数点后显示零数字。
如果我们用围捕发现,我们可以调用下降到floor
和简单地使用format:
初始化,但对于3.89
值,这会给我们一个字符串,它看起来像"4 kW"
。
什么是“细节”?什么是'details.details'?我假设'averageAnnualSolarProduction'是一个'Float',但是你希望字符串不包含小数部分? – nhgrif
正是它是一个浮动。不确定细节。细节是诚实的。只需要为其他开发者修复这个问题。 – timpone
你想让它圆整还是小数点? – nhgrif