显示为数字而不是指数

时间:2017-05-02 19:51:01

标签: ios swift2 numbers exponential

我的应用中有一个滑块。我使用滑块的值来计算我的代码中的另一个值。这是代码。

    let P = slider1.value
    let mulValue = 1.00
    let i = P * mulValue
    print("i:", i)

滑块最小值= 0,滑块最大值= 9,999,999。如果滑块值大于1,000,000,则i的值显示为指数。

例如," i"印刷:1.55058e + 06在控制台中,P = 1,550,580 我希望打印完整的数字而不是指数。我该如何解决这个问题?

根据下面的评论,我尝试使用NSNumberFormatter()。但结果是数字四舍五入。我不想要我的"我"要圆润。以下是我使用的代码段,如果我错了,请纠正我。谢谢!!

    let numberFormatter = NSNumberFormatter()
    numberFormatter.numberStyle = NSNumberFormatterStyle.DecimalStyle
    let finalNumber = numberFormatter.numberFromString(String(i))
    print("fin num:", finalNumber)

1 个答案:

答案 0 :(得分:0)

感谢您的所有投入。 NSNumberFormatter()的用法略有不同 以下代码完美地适用于我的代码。

    let numberFormatter = NSNumberFormatter()
    numberFormatter.numberStyle = NSNumberFormatterStyle.DecimalStyle
    let finalNumber = numberFormatter.stringFromNumber(i)!
    print("fin:", finalNumber)

我使用stringFromNumber代替numberFromString