使用 2 位小数格式化浮点值 [重复]

Posted

技术标签:

【中文标题】使用 2 位小数格式化浮点值 [重复]【英文标题】:Format float value with 2 decimal places [duplicate] 【发布时间】:2015-08-07 10:52:02 【问题描述】:

如何将结果四舍五入到小数点后 2 位并在结果标签上显示?我找到了一些陈述,但我是 Swift 新手,实际上我很难为我的项目重建示例。

import UIKit

class ViewController: UIViewController 
    
    @IBOutlet var txt: UITextField!
    
    @IBOutlet var l5: UILabel!
    @IBOutlet var l10: UILabel!
    @IBOutlet var l15: UILabel!
    @IBOutlet var l20: UILabel!
    @IBOutlet var l25: UILabel!
    @IBOutlet var l30: UILabel!
    @IBOutlet var l35: UILabel!
    @IBOutlet var l40: UILabel!
    
    @IBAction func Berechnen(sender: AnyObject) 
        
        var Zahl = (txt.text as NSString).floatValue
        
        l5.text  = "\((Zahl / 95) * (100))"
        l10.text = "\((Zahl / 90) * (100))"
        l15.text = "\((Zahl / 85) * (100))"
        l20.text = "\((Zahl / 80) * (100))"
        l25.text = "\((Zahl / 75) * (100))"
        l30.text = "\((Zahl / 70) * (100))"
        l35.text = "\((Zahl / 65) * (100))"
        l40.text = "\((Zahl / 60) * (100))"
    
    
    func textFieldShouldReturn(textField: UITextField) -> Bool 
        self.view.endEditing(true)
        return false
    


【问题讨论】:

【参考方案1】:

您可以使用标准string formatting specifiers 舍入到任意小数位。特别是%.nf 其中n 是您需要的小数位数:

let twoDecimalPlaces = String(format: "%.2f", 10.426123)

假设您想在每个 l* 标签上显示数字:

@IBAction func Berechnen(sender: AnyObject) 

    var Zahl = (txt.text as NSString).floatValue

    l5.text  = String(format: "%.2f", (Zahl / 95) * 100)
    l10.text = String(format: "%.2f", (Zahl / 90) * 100)
    l15.text = String(format: "%.2f", (Zahl / 85) * 100)
    l20.text = String(format: "%.2f", (Zahl / 80) * 100)
    l25.text = String(format: "%.2f", (Zahl / 75) * 100)
    l30.text = String(format: "%.2f", (Zahl / 70) * 100)
    l35.text = String(format: "%.2f", (Zahl / 65) * 100)
    l40.text = String(format: "%.2f", (Zahl / 60) * 100)

【讨论】:

我看到了所有之前的问题。谢谢。但我不知道我必须把它放在我的代码中的什么地方...... 玩一玩总能帮助我弄清楚问题,因为我已经更新了答案。 //它会更有帮助,通过指定你想要多少小数点。 let decimalPoint = 2 let floatAmount = 1.10001 let amountValue = String(format: "%0.*f", decimalPoint, floatAmount) 谢谢!效果很好

以上是关于使用 2 位小数格式化浮点值 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Objective-C:如何格式化浮点值以仅显示小数,没有完整数字或小数点?

变体浮点到双精度值转换,舍入到小数点后 1 位 [重复]

如何将十进制值显示到小数点后 2 位?

精度浮点型数据精确到了几位小数呢?

python:格式化具有最大小数位数的浮点字符串[重复]

PHP数字格式2位小数[重复]