使用 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 位小数格式化浮点值 [重复]的主要内容,如果未能解决你的问题,请参考以下文章