如何迅速防止Float的科学记数法

我有以下代码:

rangeSlider.minLabel?.text = "\(rangeSlider.lowerValue)" 

标签文本是1e + 07,但我想成为100000000。

我应该如何禁用科学记数法?

设置你的号码风格:

 let numberFormatter = NSNumberFormatter() numberFormatter.numberStyle = NSNumberFormatterStyle.DecimalStyle let finalNumber = numberFormatter.numberFromString("\(rangeSlider.lowerValue)") print(finalNumber!) 

随着简单的1e + 07的转换

 let numberFormatter = NSNumberFormatter() numberFormatter.numberStyle = NSNumberFormatterStyle.DecimalStyle let finalNumber = numberFormatter.numberFromString("\(1e+07)") print(finalNumber!) 

输出:

千万

希望这可以帮助。

另一种方法是使用String(format:) ,如果你有Foundation导入:

例:

 import Foundation // this comes with import UIKit or import Cocoa let f: Float = 1e+07 let str = String(format: "%.0f", f) print(str) // 10000000 

在你的情况下:

 rangeSlider.minLabel?.text = String(format: "%.0f", rangeSlider.lowerValue)