如果计算结果为164.98001,那么我希望答案显示为164.99。
编辑-我不认为这是一个重复的问题,因为我的问题涉及到四舍五入所有的数字。
@IBAction func buttoncalc(_ sender: Any) {
total.isHidden = false
let firstValue = Double(text1.text!)
let secondValue = Double(text2.text!)
let thirdValue = Double(text3.text!)
let forthValue = Double(text4.text!)
if firstValue != nil && secondValue != nil && thirdValue != nil && forthValue != nil {
let outputvalue = Double(((firstValue! * secondValue!)/1000)*0.5)*(thirdValue! - forthValue!)
total.text = "£ \(outputvalue)"
} else {
total.text = nil
}
}
可以使用NumberFormatter
将格式化的数字作为字符串
获取。只需将小数位数限制为2,并将roundingmode
设置为up
let formatter = NumberFormatter()
formatter.roundingMode = .up
formatter.minimumFractionDigits = 2
formatter.maximumFractionDigits = 2
let number = 164.98001
print(formatter.string(from: NSNumber(value: number)) ?? "") // 164.99
为了更好地改进逻辑,可以设置格式化程序的NumberStyle
和Locale
formatter.numberStyle = .currency
formatter.locale = Locale(identifier: "en_UK")
// £164.99
您的特定用法:
let string = formatter.string(from: NSNumber(value: outputvalue)) ?? ""
total.text = string
我如何四舍五入到两个小数位?
问题内容: 如果值为,则应将其格式化为。如果是,那么应该是。 问题答案: 这是一个实用程序,可以将双精度舍入(而不是截断)双精度至小数位数。 例如: 原始版本;提防这个 这在小数位数很高(例如)或整数部分很大(例如)的极端情况下会严重崩溃。感谢Sloin指出这一点。 多年来,我一直在使用上面的方法将“不太大”的双精度取整到2或3个小数位(例如,以秒为单位的清理时间用于记录目的:27.9876543
我需要把分钟换算成小时,四舍五入到小数点后两位。我还需要在小数点后显示最多两个数字。所以如果我有650分钟,那么小时应该是10.83。 但在这种情况下,如果我的分钟数是630小时,那就是10.5000000。但我只想要10.50(四舍五入后)。我如何做到这一点?
获取以下数字集--> 当相加时,这些给出一个整数。
问题内容: 我有以下JavaScript语法: 这四舍五入为整数。如何返回两位小数的结果? 问题答案: 注-如果3位数精度很重要,请参阅编辑4 toFixed将根据超过2个小数的值为您舍入或舍入。 编辑 -正如其他人所提到的,它将结果转换为字符串。为了避免这种情况: 编辑2- 正如注释中所提到的,此函数在某种程度上会失败,例如在1.005的情况下,它将返回1.00而不是1.01。如果准确性在这个程
问题内容: 假设我有,我想将其转换为。如何在Python中完成此操作? 给与不。我是Python或一般编程的新手。 我不想将其打印为字符串,结果将被进一步使用。有关此问题的更多信息,请查看 Tim Wilson的Python编程技巧:贷款和付款计算器 。 问题答案: (或的结果)正确舍入为小数点后两位。数学上,这听起来像您想要的是天花板功能。Python模块中的一个名为: 地板和天花板功能通常分别