ios - 使用 numberFromString 生成 NSDecimalNumber 时如何获得没有分数错误的舍入值?

标签 ios number-formatting nsdecimalnumber

我正在尝试解析一个 NSDecimalNumber来自一个字符串,但无论我在 numberFormatter 上设置什么属性,我都无法让它在获取 numberFromString 时停止犯小数错误

let numberFormatter = NSNumberFormatter()
numberFormatter.maximumFractionDigits = 1
numberFormatter.decimalSeparator = "."
numberFormatter.generatesDecimalNumbers = true
numberFormatter.roundingMode = .RoundDown
numberFormatter.roundingIncrement = 0.01
numberFormatter.numberStyle = NSNumberFormatterStyle.DecimalStyle
let number = numberFormatter.numberFromString("93.9")

数字设置为 93.9000000000001,而不是 93.9。我怎样才能让它设置正确的数字值?

最佳答案

NSDecimalNumber 上定义了一个工厂方法,它接受一个字符串:

+ (NSDecimalNumber *)decimalNumberWithString:(NSString *)numericString

例子:

$ swift
Welcome to Apple Swift version 2.1.1 (swiftlang-700.1.101.15 clang-700.1.81). Type :help for assistance.
  1> import Foundation
  2> NSDecimalNumber(string: "93.9")
$R0: NSDecimalNumber = 93.9
  3>

关于ios - 使用 numberFromString 生成 NSDecimalNumber 时如何获得没有分数错误的舍入值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35150766/

相关文章:

javascript - 如何使用格式 SI 前缀四舍五入到小数点后两位?

objective-c - 将 NSNumber 转换为 NSDecimalNumber

java - 在两个不同的固定位置用逗号格式化数字

swift - NSDecimalNumber 到 UInt64 的转换问题

ios - 将位置源从 GPS 切换到本地 `gpx` 文件

ios - React Native 模块,未找到 Cocoapod 文件

android - android 中是否有任何等效的 CI Image library(ios)?

ios - Safari iOS 中带有视频的 "done"按钮的回调

java - 用于报告格式的 NumberFormat