currentRatio
소수점 이하 두 자리 까지 반올림하려면 어떻게합니까 ?
let currentRatio = Double (rxCurrentTextField.text!)! / Double (txCurrentTextField.text!)!
railRatioLabelField.text! = "\(currentRatio)"
답변:
형식 문자열을 사용하여 소수점 이하 두 자리까지 반올림하고 double
를 a 로 변환합니다 String
.
let currentRatio = Double (rxCurrentTextField.text!)! / Double (txCurrentTextField.text!)!
railRatioLabelField.text! = String(format: "%.2f", currentRatio)
예:
let myDouble = 3.141
let doubleStr = String(format: "%.2f", myDouble) // "3.14"
마지막 소수점 자리를 반올림하려면 다음과 같이 할 수 있습니다 (Phoen1xUK에게 감사드립니다).
let myDouble = 3.141
let doubleStr = String(format: "%.2f", ceil(myDouble*100)/100) // "3.15"
(Swift 4.2 Xcode 11) 사용이 간편한 확장 기능 :-
extension Double {
func round(to places: Int) -> Double {
let divisor = pow(10.0, Double(places))
return (self * divisor).rounded() / divisor
}
}
사용하다:-
if let distanceDb = Double(strDistance) {
cell.lblDistance.text = "\(distanceDb.round(to:2)) km"
}
func round(to places: Int) -> Double {
SWIFT 4 및 질문에 대한 올바른 답변으로 업데이트되었습니다.
소수점 2 자리까지 반올림하려면 100을 곱한 다음 반올림 한 다음 100으로 나눕니다.
var x = 1.5657676754
var y = (x*100).rounded()/100
print(y) // 1.57
이 목적으로 NumberFormatter를 사용하는 것이 좋습니다. 비율의 백분율 기호를 인쇄하려는 경우 또는 통화 및 큰 숫자와 같은 항목이있는 경우 더 많은 유연성을 제공합니다.
let amount = 10.000001
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
formatter.maximumFractionDigits = 2
let formattedAmount = formatter.string(from: amount as NSNumber)!
print(formattedAmount) // 10
나 같은 멍청한 사람들을위한 빠른 후속 답변 :
출력 기능을 사용하여 다른 답변을 매우 쉽게 구현할 수 있습니다 . 예
func twoDecimals(number: Float) -> String{
return String(format: "%.2f", number)
}
이렇게하면 소수점 이하 2 자리까지 값을 입력하고 싶을 때
twoDecimals ( ' 여기에 숫자 ')
...
단순하다!
추신 또한 다음과 같이 문자열 변환 후 다시 변환 하여 Float 값 또는 원하는 것을 반환하도록 만들 수 있습니다 .
func twoDecimals(number: Float) -> Float{
let stringValue = String(format: "%.2f", number)
return Float(stringValue)!
}
도움이되기를 바랍니다.
한 줄의 코드 :
let obj = self.arrayResult[indexPath.row]
let str = String(format: "%.2f", arguments: [Double((obj.mainWeight)!)!])
currentRatio
라운드까지 항상 두 개의 소수점, 또는를? 예 : 3.141-> 3.14 또는 3.141-> 3.14를 원하십니까?