始终显示$

时间:2015-10-28 15:34:58

标签: swift decimal rounding

很快,我想做到这一点,它总是在标签上显示一个$,然后是一些东西。到目前为止,我有这样的话:

var billDouble =  NSString(string: userBillTextField.text).doubleValue
tipAmount.text = String( stringInterpolationSegment: billDouble * tax)

我想这样做,以便在tipAmount中显示类似$ 9.00而不是9.00。

另外,我如何才能使双精度数只显示到数百位的小数点? 因此,它不会显示9.089999999,而是显示9.09。

1 个答案:

答案 0 :(得分:3)

您应该使用NSNumberFormatter并将numberStyle设置为CurrencyStyle

    let numFormatter = NSNumberFormatter()
    numFormatter.numberStyle = .CurrencyStyle

    print(numFormatter.stringFromNumber(NSNumber(double: 9.002310832)))

将输出:Optional("$9.00")输出到控制台,这只是意味着它返回一个可选项(即可以返回nil)。要处理可选项,您可以在末尾放置!以强制打开它或执行if let之类的操作来打开它。