मैं currentRatio
दो दशमलव स्थानों तक कैसे चक्कर लगा सकता हूं ?
let currentRatio = Double (rxCurrentTextField.text!)! / Double (txCurrentTextField.text!)!
railRatioLabelField.text! = "\(currentRatio)"
मैं currentRatio
दो दशमलव स्थानों तक कैसे चक्कर लगा सकता हूं ?
let currentRatio = Double (rxCurrentTextField.text!)! / Double (txCurrentTextField.text!)!
railRatioLabelField.text! = "\(currentRatio)"
जवाबों:
दो दशमलव स्थानों तक चक्कर लगाने और double
एक को बदलने के लिए एक प्रारूप स्ट्रिंग का उपयोग करें 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"
(स्विफ्ट 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
इस उद्देश्य के लिए नंबरफ़ॉर्मर का उपयोग करने पर विचार करें, यह अधिक लचीलापन प्रदान करता है यदि आप अनुपात के प्रतिशत चिन्ह को प्रिंट करना चाहते हैं या यदि आपके पास मुद्रा और बड़ी संख्या जैसी चीजें हैं।
let amount = 10.000001
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
formatter.maximumFractionDigits = 2
let formattedAmount = formatter.string(from: amount as NSNumber)!
print(formattedAmount) // 10
उपरोक्त उत्तर में जोड़ना अगर हम कई बार डबल प्रारूप करना चाहते हैं, तो हम नीचे की तरह डबल के प्रोटोकॉल एक्सटेंशन का उपयोग कर सकते हैं:
extension Double {
var dollarString:String {
return String(format: "$%.2f", self)
}
}
let a = 45.666
print(a.dollarString) //will print "$45.67"
मेरे जैसे नोब्स के लिए बस एक त्वरित अनुवर्ती उत्तर:
आप आउटपुट के साथ फ़ंक्शन का उपयोग करके अन्य उत्तरों को सुपर आसानी से लागू कर सकते हैं । उदाहरण के लिए
func twoDecimals(number: Float) -> String{
return String(format: "%.2f", number)
}
इस तरह, जब भी आप 2 दशमलव स्थानों के लिए मान लेना चाहते हैं तो आप टाइप करें
TwoDecimals (' आपका नंबर यहां ')
...
साधारण!
PS आप इसे एक फ्लोट मान, या जो कुछ भी आप चाहते हैं, उसे वापस कर सकते हैं, तब तक स्ट्रिंग के रूपांतरण के बाद इसे फिर से इस प्रकार परिवर्तित कर सकते हैं:
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
दो दशमलव स्थानों पर गोल करना चाहते हैं, या हमेशा गोल करना चाहते हैं? Ex: क्या आप 3.141 -> 3.14 या 3.141 -> 3.14 चाहते हैं?