swift - 始终显示 $

标签 swift decimal rounding

SO in swift,我想让它始终在标签中显示 $ 以及之后的一些内容。到目前为止,我是这样的:

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

我想让它在 tipAmount 中显示类似 $9.00 而不是 9.00。

此外,如何才能使 double 只显示到百位的小数点? 因此,它不会显示 9.089999999,而是四舍五入并显示 9.09。

最佳答案

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

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

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

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

关于swift - 始终显示 $,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33395284/

相关文章:

ios - 如何使用 Swift 在 UIView(不是全屏)中播放视频?

swift - 鼠标事件后自定义 Carbon 键事件处理程序失败

ios - 解析 JSON iOS-Swift

MySQL在插入数据库时​​更改decimal(19, 2)的值

.net - 为什么 .NET 使用银行舍入作为默认值?

java - 在 Java 中移动 Math.ceil

python - 为什么 Ruby 的 Float#round 行为与 Python 不同?

ios - 自定义 UIViewController 中的选择器不调用类中的函数

MySQL varchar 字段之间的减法返回精度过高的小数

c - 将打印浮点值转换为分数的程序不起作用..?