স্ট্রিংকে সুইফের সাথে ইন্টারে রূপান্তর করা হচ্ছে


352

অ্যাপ্লিকেশনটি প্রাথমিকভাবে প্রাথমিক এবং চূড়ান্ত বেগ এবং সময়কে ইনপুট দিয়ে ত্বরণ গণনা করে এবং ত্বরণ গণনা করার জন্য একটি সূত্র ব্যবহার করে। যাইহোক, পাঠ্য বাক্সগুলির মানগুলি স্ট্রিং হওয়ায় আমি সেগুলি পূর্ণসংখ্যায় রূপান্তর করতে অক্ষম।

@IBOutlet var txtBox1 : UITextField
@IBOutlet var txtBox2 : UITextField
@IBOutlet var txtBox3 : UITextField
@IBOutlet var lblAnswer : UILabel


@IBAction func btn1(sender : AnyObject) {

    let answer1 = "The acceleration is"
    var answer2 = txtBox1
    var answer3 = txtBox2
    var answer4 = txtBox3

7
চেষ্টা করা হয়নি তবে সম্ভবত আপনি এই মানগুলি কাস্ট করতে পারেনvar answer1 = Int(txtBox1.text)
ড্যানিয়েল

যদি আপনার স্ট্রিংটি "23.0" মনে করা হয়, তবে আপনি এটি ইন্টার ("23.0") এ কাস্ট করেন তবে এটি শূন্য হয়ে যাবে, এই ক্ষেত্রে প্রথমে আপনাকে প্রথমে ডাবল / ফ্লোটে কাস্ট করতে হবে এবং তারপরে আবার ইন্টার তে কাস্ট করা প্রয়োজন।
আরিভেন নাদের

উত্তর:


326

বেসিক আইডিয়া, নোট করুন যে এটি কেবল সুইফট 1.x এ কাজ করে ( প্যারাসরার উত্তরটি দেখুন কীভাবে এটি সুইফট ২.x এ কাজ করে):

    // toInt returns optional that's why we used a:Int?
    let a:Int? = firstText.text.toInt() // firstText is UITextField
    let b:Int? = secondText.text.toInt() // secondText is UITextField

    // check a and b before unwrapping using !
    if a && b {
        var ans = a! + b!
        answerLabel.text = "Answer is \(ans)" // answerLabel ie UILabel
    } else {
        answerLabel.text = "Input values are not numeric"
    }

সুইফট 4 এর জন্য আপডেট

...
let a:Int? = Int(firstText.text) // firstText is UITextField
let b:Int? = Int(secondText.text) // secondText is UITextField
...

ধন্যবাদ এই কাজ করে। তবে, আমি একটি সমস্যা আছে যেহেতু আমি সংখ্যাগুলিও ভাসমান অন্তর্ভুক্ত করতে চাই। আবার ধন্যবাদ.
মারওয়ান কাসেম

4
আপনার যদি ভাসমান (এবং আপনি সত্যই সত্যই ডাবল চান, ভাসমান নয়) দরকার হয়, তবে () এটি করতে পারবেন না। আপনি একটি উপযুক্ত ফাংশন সন্ধান করতে আপনার কল্পনা এবং উপলব্ধ নথি ব্যবহার করতে পারেন?
gnasher729

4
আমি পেতে 'NSString' does not have a member named 'toInt'। কোন ধারনা?
মতেজ

1
NSStringএবং Stringদুটি পৃথক বস্তু এবং বিভিন্ন পদ্ধতি আছে। NSStringএকটি পদ্ধতি আছে.intValue
বায়রন কোটসি

7
এই সমাধানটি কেবল সুইফ্টের পক্ষে ঠিক ছিল এবং সুইফট 2-এর পক্ষে নয়। এখন আপনার ব্যবহার করা উচিত: Int (firstText.text)
gurehbgui

337

সুইফট ২.০-এর জন্য উত্তর আপডেট করুন :

toInt()পদ্ধতি একটি ত্রুটি দেওয়া হয়। কারণ, সুইফট ২.x এ .toInt()স্ট্রিং থেকে ফাংশনটি সরানো হয়েছিল। প্রতিস্থাপনে, ইন্টের এখন একটি ইনিশিয়ালাইজার রয়েছে যা একটি স্ট্রিং গ্রহণ করে:

let a:Int? = Int(firstText.text)     // firstText is UITextField  
let b:Int? = Int(secondText.text)   // secondText is UITextField

আমি কী জিজ্ঞাসা করতে পারি যে আমি 'বাদ দিলে কেন ত্রুটি পাচ্ছি?' গৃহস্থালির কাজ? আমাকে aচ্ছিক হিসাবে কেন 'এ' বলার দরকার?
মনোস সিরিফিয়াস

1
এই আলোচনা @ManosSerifios may সহায়ক: stackoverflow.com/questions/32621022/...
Paraneetharan Saravanaperumal

সত্যিকারের সাথে সম্পর্কিত নয় তবে কনস্ট্রাক্টর পদ্ধতির কাছে সর্বদা পছন্দ করা হয় এবং ইন্টার টু স্ট্রিংয়ের জন্য আরও বেশি পাঠযোগ্য। পড়া "\(someInt)"ভাল না খুব ভালString(someInt)
মধু

আমি মুদ্রণ করছি Int(firstText.text)!এবং তারপরে আমি এখনও seeচ্ছিক দেখতে পাচ্ছি। কেন? আমি কি এটি আবদ্ধ করি নি?
মধু

স্ট্রিং হয়ে গেলে এটি ক্রাশ হবে nil। যখন স্ট্রিংটি এই ক্ষেত্রে যেমন কোনও ইউআই উপাদান থেকে আসে তখনই ঘটতে পারে না। কিন্তু এক উপায় ক্র্যাশ প্রতিরোধ স্ট্রিং একটি ডিফল্ট মান যোগ করা: let a:Int? = Int(firstText.text ?? "")
জেনস

85

myString.toInt() - স্ট্রিংয়ের মানকে ইনটে রূপান্তর করুন।

সুইফট 3.x

আপনার যদি কোনও স্ট্রিংয়ের অভ্যন্তরে কোনও পূর্ণসংখ্যা লুকানো থাকে তবে আপনি পূর্ণসংখ্যার কনস্ট্রাক্টর ব্যবহার করে রূপান্তর করতে পারেন, এটির মতো:

let myInt = Int(textField.text)

অন্যান্য ডেটা প্রকারের মতো (ফ্লোট এবং ডাবল) আপনি এনএসএস স্ট্রিং ব্যবহার করে রূপান্তর করতে পারেন:

let myString = "556"
let myInt = (myString as NSString).integerValue

1
এটি আসলে প্রশ্নের উত্তর দেয়, অন্যরা সবাই ওপিকে বলে যে কীভাবে একটি স্ট্রিং হিসাবে কোনও পূর্ণসংখ্যার উপকূল করা যায়, যা তিনি জিজ্ঞাসা করছেন না
aremvee

1
সুইফট 3 এর উদাহরণ?
পিটার ক্রেইনজ

উত্তরসূরিদের প্রত্যাশিত বিভ্রান্তির অভাবের জন্য প্লিজ "সর্বশেষ সুইফ্ট সংস্করণগুলি" স্পষ্ট করেছেন :)
অ্যালেক্স হল

@aremvee আপনি একটি স্ট্রিং হিসাবে একটি পূর্ণসংখ্যা "কাস্ট" বলতে চান? এবং এটি ঠিক কী করে যা এই প্রশ্নের উত্তর দেয় যা অন্য উত্তরগুলি দেয় না?
অ্যালেক্স হল

31

সম্পাদনা / আপডেট: এক্সকোড 11.4 • সুইফ্ট 5.2

কোড মাধ্যমে মন্তব্য চেক করুন


ইন্টিজারফিল্ড.সুইফ্ট ফাইল সামগ্রী:

import UIKit

class IntegerField: UITextField {

    // returns the textfield contents, removes non digit characters and converts the result to an integer value
    var value: Int { string.digits.integer ?? 0 }

    var maxValue: Int = 999_999_999
    private var lastValue: Int = 0

    override func willMove(toSuperview newSuperview: UIView?) {
        // adds a target to the textfield to monitor when the text changes
        addTarget(self, action: #selector(editingChanged), for: .editingChanged)
        // sets the keyboard type to digits only
        keyboardType = .numberPad
        // set the text alignment to right
        textAlignment = .right
        // sends an editingChanged action to force the textfield to be updated
        sendActions(for: .editingChanged)
    }
    // deletes the last digit of the text field
    override func deleteBackward() {
        // note that the field text property default value is an empty string so force unwrap its value is safe
        // note also that collection remove at requires a non empty collection which is true as well in this case so no need to check if the collection is not empty.
        text!.remove(at: text!.index(before: text!.endIndex))
        // sends an editingChanged action to force the textfield to be updated
        sendActions(for: .editingChanged)
    }
    @objc func editingChanged() {
        guard value <= maxValue else {
            text = Formatter.decimal.string(for: lastValue)
            return
        }
        // This will format the textfield respecting the user device locale and settings
        text = Formatter.decimal.string(for: value)
        print("Value:", value)
        lastValue = value
    }
}

আপনার প্রকল্পে আপনাকে সেই এক্সটেনশনগুলি যুক্ত করতে হবে:


এক্সটেনশনগুলি UITextField.swift ফাইল সামগ্রী:

import UIKit
extension UITextField {
    var string: String { text ?? "" }
}

এক্সটেনশনগুলি ফর্ম্যাটর.সুইফ্ট ফাইল সামগ্রী:

import Foundation
extension Formatter {
    static let decimal = NumberFormatter(numberStyle: .decimal)
}

এক্সটেনশানগুলি নাম্বার ফর্ম্যাটর.সুইফ্ট ফাইল সামগ্রী:

import Foundation
extension NumberFormatter {
    convenience init(numberStyle: Style) {
        self.init()
        self.numberStyle = numberStyle
    }
}

এক্সটেনশনগুলি স্ট্রিংপ্রোটোকল.সুইফ্ট ফাইল সামগ্রী:

extension StringProtocol where Self: RangeReplaceableCollection {
    var digits: Self { filter(\.isWholeNumber) }
    var integer: Int? { Int(self) }
}

নমুনা প্রকল্প


27

আপনি ব্যবহার করতে পারেন NSNumberFormatter().numberFromString(yourNumberString)। এটি দুর্দান্ত কারণ এটি এমন একটি alচ্ছিক দেয় যা if letরূপান্তরটি সফল হয়েছিল কিনা তা নির্ধারণের জন্য আপনি তার সাথে পরীক্ষা করতে পারেন । যেমন।

var myString = "\(10)"
if let myNumber = NSNumberFormatter().numberFromString(myString) {
    var myInt = myNumber.integerValue
    // do what you need to do with myInt
} else {
    // what ever error code you need to write
}

সুইফট 5

var myString = "\(10)"
if let myNumber = NumberFormatter().number(from: myString) {
    var myInt = myNumber.intValue
    // do what you need to do with myInt
  } else {
    // what ever error code you need to write
  }

1
Xcode 7 'intValue' দিয়ে তৈরি করবে না বলেই আমি এটি কেবল 'myNumber.integerValue' এ পরিবর্তন করেছি। পরেরটি আন্তঃ 32 মানটির
ব্রেইন্রে

21

দ্রুত 4.0

let stringNumber = "123"
let number = Int(stringNumber) //here number is of type "Int?"


//using Forced Unwrapping

if number != nil {         
 //string is converted to Int
}

আপনি বাধ্যতামূলক বাঁধন ব্যতীত অন্য otherচ্ছিক বাঁধাই ব্যবহার করতে পারেন।

উদাহরণ:

  if let number = Int(stringNumber) { 
   // number is of type Int 
  }

14

// এক্সকোড 8.1 এবং দ্রুত 3.0

আমরা কেবল এটি অপশনাল বাইন্ডিং দ্বারা পরিচালনা করতে পারি

let occur = "10"

if let occ = Int(occur) {
        print("By optional binding :", occ*2) // 20

    }

11

ইন সুইফট 4.2 এবং Xcode 10.1

let string:String = "789"
let intValue:Int = Int(string)!
print(intValue)

let integerValue:Int = 789
let stringValue:String = String(integerValue)
    //OR
//let stringValue:String = "\(integerValue)"
print(stringValue)

7

সুইফট 3

সবচেয়ে সহজ এবং আরও সুরক্ষিত উপায় হ'ল:

@IBOutlet var textFieldA  : UITextField
@IBOutlet var textFieldB  : UITextField
@IBOutlet var answerLabel : UILabel

@IBAction func calculate(sender : AnyObject) {

      if let intValueA = Int(textFieldA),
            let intValueB = Int(textFieldB) {
            let result = intValueA + intValueB
            answerLabel.text = "The acceleration is \(result)"
      }
      else {
             answerLabel.text = "The value \(intValueA) and/or \(intValueB) are not a valid integer value"
      }        
}

নম্বর প্যাডে কীবোর্ডের প্রকারটি সেট করে অবৈধ মানগুলি এড়ান:

 textFieldA.keyboardType = .numberPad
 textFieldB.keyboardType = .numberPad

7

সুইফ্ট 4 এ:

extension String {            
    var numberValue:NSNumber? {
        let formatter = NumberFormatter()
        formatter.numberStyle = .decimal
        return formatter.number(from: self)
    }
}
let someFloat = "12".numberValue

4

আমি একটি সাধারণ প্রোগ্রাম তৈরি করেছি, যেখানে আপনার কাছে 2 টিএসটিটি ফিল্ড রয়েছে যা আপনি ইনপুটটিকে ব্যবহারকারী হিসাবে নিয়ে যান এবং এটিকে আরও সহজ করে বোঝার জন্য যুক্ত করুন দয়া করে নীচের কোডটি সন্ধান করুন।

@IBOutlet weak var result: UILabel!
@IBOutlet weak var one: UITextField!
@IBOutlet weak var two: UITextField!

@IBAction func add(sender: AnyObject) {        
    let count = Int(one.text!)
    let cal = Int(two.text!)
    let sum = count! + cal!
    result.text = "Sum is \(sum)"
}

আশাকরি এটা সাহায্য করবে.


4

সুইফট 3.0

এটি ব্যবহার করে দেখুন, আমি কেবলমাত্র এই ফাংশনটি ব্যবহার করে সমস্ত কিছু করেছি এমন কোনও শর্তের জন্য আপনাকে পরীক্ষা করার দরকার নেই। স্ট্রিং, নম্বর, ফ্লোট, ডাবল ইত্যাদি পাঠান anything আপনি মান হিসাবে 0 বা এটির মানটি রূপান্তর করতে অক্ষম হলে 0 পাবেন

ফাংশন:

func getNumber(number: Any?) -> NSNumber {
    guard let statusNumber:NSNumber = number as? NSNumber else
    {
        guard let statString:String = number as? String else
        {
            return 0
        }
        if let myInteger = Int(statString)
        {
            return NSNumber(value:myInteger)
        }
        else{
            return 0
        }
    }
    return statusNumber
}

ব্যবহার: কোডে উপরের ফাংশনটি যুক্ত করুন এবং let myNumber = getNumber(number: myString) যদি এতে myStringনম্বর বা স্ট্রিং থাকে তবে অন্যটি যে নম্বরটি ফিরিয়ে দেয় তা ব্যবহার করে রূপান্তর করতে 0

উদাহরণ 1:

let number:String = "9834"
print("printing number \(getNumber(number: number))")

আউটপুট: printing number 9834

উদাহরণ 2:

let number:Double = 9834
print("printing number \(getNumber(number: number))")

আউটপুট: printing number 9834

উদাহরণ 3:

let number = 9834
print("printing number \(getNumber(number: number))")

আউটপুট: printing number 9834


4

স্ট্রিং টু ইন্টার এবং অন্যান্য ধরণের জন্য দরকারী

extension String {
        //Converts String to Int
        public func toInt() -> Int? {
            if let num = NumberFormatter().number(from: self) {
                return num.intValue
            } else {
                return nil
            }
        }

        //Converts String to Double
        public func toDouble() -> Double? {
            if let num = NumberFormatter().number(from: self) {
                return num.doubleValue
            } else {
                return nil
            }
        }

        /// EZSE: Converts String to Float
        public func toFloat() -> Float? {
            if let num = NumberFormatter().number(from: self) {
                return num.floatValue
            } else {
                return nil
            }
        }

        //Converts String to Bool
        public func toBool() -> Bool? {
            return (self as NSString).boolValue
        }
    }

এটি ব্যবহার করুন:

"123".toInt() // 123

3

ইনট () এবং সুইফট ২.x সম্পর্কে: যদি আপনি কোনও সংখ্যার (উদাহরণস্বরূপ: 1073741824) দিয়ে একটি স্ট্রিং রূপান্তর করতে চেষ্টা করেন তবে রূপান্তরের পরে যদি আপনি কোনও শূন্য মান পান তবে এই ক্ষেত্রে চেষ্টা করুন:

let bytesInternet : Int64 = Int64(bytesInternetString)!

1
আপনাকে ধন্যবাদ আমার ক্ষেত্রে এটি কাজ করেছে। ইন্ট () আমার জন্য 16 ডিজিটের সংখ্যা নিয়ে কাজ করছিল তবে সম্প্রতি ব্যর্থ হতে শুরু করে।
রায়ান বাল্ড

3

সর্বশেষতম সুইফট 3 এই কোডটি কেবল স্ট্রিংকে ইনটে রূপান্তর করতে পারে

let myString = "556"
let myInt = Int(myString)

2

কারণ একটি স্ট্রিংয়ে অ-সংখ্যাসূচক অক্ষর থাকতে পারে guardআপনার অপারেশনটি সুরক্ষিত করার জন্য একটি ব্যবহার করা উচিত । উদাহরণ:

guard let labelInt:Int = Int(labelString) else {
    return
}

useLabelInt()

2

আমি সম্প্রতি একই সমস্যা পেয়েছি। সমাধানের নীচে আমার জন্য কাজ:

        let strValue = "123"
        let result = (strValue as NSString).integerValue

1

এটা ব্যবহার কর:

// get the values from text boxes
    let a:Double = firstText.text.bridgeToObjectiveC().doubleValue
    let b:Double = secondText.text.bridgeToObjectiveC().doubleValue

//  we checking against 0.0, because above function return 0.0 if it gets failed to convert
    if (a != 0.0) && (b != 0.0) {
        var ans = a + b
        answerLabel.text = "Answer is \(ans)"
    } else {
        answerLabel.text = "Input values are not numberic"
    }

অথবা

আপনার এক্সআইবি বা স্টোরিবোর্ড থেকে আপনার ইউআইটিেক্সটফিল্ড কীবোর্ডটাইপকে ডেসিমাল ট্যাব হিসাবে তৈরি করুন এবং কোনও গণনা করার জন্য শর্ত থাকলে যেকোনটি সরিয়ে ফেলুন, যেমন ie

var ans = a + b
answerLabel.text = "Answer is \(ans)"

কীবোর্ড প্রকারটি ডেসিমালপ্যাড হওয়ায় অন্য 0-9 বা প্রবেশের কোনও সুযোগ নেই।

এই সাহায্য আশা করি !!


1
//  To convert user input (i.e string) to int for calculation.I did this , and it works.


    let num:Int? = Int(firstTextField.text!);

    let sum:Int = num!-2

    print(sum);

1

এটি আমার পক্ষে কাজ করে

var a:Int? = Int(userInput.text!)

মন্তব্যটিতে দেওয়া সমাধান থেকে এটি কীভাবে আলাদা?
খেজুর

2
মন্তব্যে প্রদত্ত সমাধানটি অনুপস্থিত "!" শেষে, যা সুইফট 2 এবং
তারপরে

1

Swift3.x এর জন্য

extension String {
    func toInt(defaultValue: Int) -> Int {
        if let n = Int(self.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)) {
            return n
        } else {
            return defaultValue
        }
    }
}

0

বিকল্প সমাধানের জন্য। আপনি কোনও দেশীয় প্রকারের এক্সটেনশন ব্যবহার করতে পারেন। আপনি খেলার মাঠ দিয়ে পরীক্ষা করতে পারেন।

extension String {
    func add(a: Int) -> Int? {
        if let b = Int(self) {
            return b + a
        }
        else {
            return nil
        }
    }     
}

"2" .add (1)


0

আমার সমাধানটি স্ট্রিং থেকে ইন রূপান্তরের জন্য একটি সাধারণ এক্সটেনশন।

extension String {

 // default: it is a number suitable for your project if the string is not an integer

    func toInt(default: Int) -> Int {
        if let result = Int(self) {
            return result
        }
        else {
            return default  
        }
    }

}

0
@IBAction func calculateAclr(_ sender: Any) {
    if let addition = addition(arrayString: [txtBox1.text, txtBox2.text, txtBox3.text]) {
      print("Answer = \(addition)")
      lblAnswer.text = "\(addition)"
    }
}

func addition(arrayString: [Any?]) -> Int? {

    var answer:Int?
    for arrayElement in arrayString {
        if let stringValue = arrayElement, let intValue = Int(stringValue)  {
            answer = (answer ?? 0) + intValue
        }
    }

    return answer
}

0

প্রশ্ন: স্ট্রিং "4.0000" ইন্ট ("4.000") ব্যবহার করে পূর্ণসংখ্যায় রূপান্তর করা যায় না?

উত্তর: ইনট () চেক স্ট্রিংটি পূর্ণসংখ্যা বা না হ্যাঁ তাহলে আপনাকে পূর্ণসংখ্যা দিন এবং অন্যথায় শূন্য হয়। তবে ফ্লোট বা ডাবল কোনও শূন্য ছাড়াই কোনও নম্বর স্ট্রিংকে संबंधित ফ্লোট বা ডাবলে রূপান্তর করতে পারে। উদাহরণস্বরূপ আপনার যদি "45" পূর্ণসংখ্যার স্ট্রিং থাকে তবে ফ্লোট ("45") ব্যবহার করে আপনাকে 45.0 ফ্লোট মান দেয় বা ডাবল ("4567") ব্যবহার করে আপনাকে 45.0 দেয়।

সমাধান: এনএসএসস্ট্রিং (স্ট্রিং: "45.000")। পূর্ণসংখ্যা বা ইন্ট (ফ্লোট ("45.000")!)! সঠিক ফলাফল পেতে।


0

ইন ইন সুইটটিতে একটি ইনিশিয়ালাইজার থাকে যা একটি স্ট্রিং গ্রহণ করে। এটি একটি alচ্ছিক int ফেরত? স্ট্রিংয়ের একটি নম্বর না থাকলে রূপান্তরটি ব্যর্থ হতে পারে।

যদি একটি লেট স্টেটমেন্ট ব্যবহার করে আপনি রূপান্তরটি সফল হয়েছে কিনা তা যাচাই করতে পারেন।

সুতরাং আপনার কোডটি এমন কিছু হয়ে যায়:

@IBOutlet var txtBox1 : UITextField
@IBOutlet var txtBox2 : UITextField
@IBOutlet var txtBox3 : UITextField
@IBOutlet var lblAnswer : UILabel

@IBAction func btn1(sender : AnyObject) {

    let answer1 = "The acceleration is"
    var answer2 = txtBox1
    var answer3 = txtBox2
    var answer4 = txtBox3

    if let intAnswer = Int(txtBox1.text) {
      // Correctly converted
    }
}

0

উপরে 5.0 এবং উপরে

ওয়ার্কিং

যদি আপনি বিভক্ত হন তবে Stringএটি দুটি substringsএবং দুটি নয় দুটি তৈরি করে Strings। পদ্ধতি নীচের এই জন্য চেক করবে Anyএবং রূপান্তর এটি t0 NSNumberতার সহজ একটি রূপান্তর করতে NSNumberকরতে Int, Floatকি কখনও ডেটা টাইপ আপনি প্রয়োজন।

আসল কোড

//Convert Any To Number Object Removing Optional Key Word.
public func getNumber(number: Any) -> NSNumber{
 guard let statusNumber:NSNumber = number as? NSNumber  else {
    guard let statString:String = number as? String else {
        guard let statSubStr : Substring = number as? Substring else {
            return 0
        }
        if let myInteger = Int(statSubStr) {
            return NSNumber(value:myInteger)
        }
        else{
            return 0
        }
    }

    if let myInteger = Int(statString) {
        return NSNumber(value:myInteger)
    }
    else if let myFloat = Float(statString) {
        return NSNumber(value:myFloat)
    }else {
        return 0
    }
}
return statusNumber }

ব্যবহার

if let hourVal = getNumber(number: hourStr) as? Int {

}

Stringচেক করতে এবং রূপান্তর করতে পাস করাDouble

Double(getNumber(number:  dict["OUT"] ?? 0)

0

সুইফট 5 ফ্লোট বা ইন স্ট্রিং ইনট:

extension String {
    func convertStringToInt() -> Int {
        return Int(Double(self) ?? 0.0)
    }
}

let doubleStr = "4.2"
// print 4
print(doubleStr.convertStringToInt())

let intStr = "4"
// print 4
print(intStr.convertStringToInt())

-1

দ্রুত 3 হিসাবে , আমাকে আমার #% @ জোর করতে হবে! স্ট্রিং & একটি ""! অন্যথায় এটি ঠিক কাজ করে না।

উদাহরণ স্বরূপ:

let prefs = UserDefaults.standard
var counter: String!
counter = prefs.string(forKey:"counter")
print("counter: \(counter!)")


var counterInt = Int(counter!)
counterInt = counterInt! + 1
print("counterInt: \(counterInt!)")

OUTPUT:
counter: 1
counterInt: 2

তুমি কি করতে পার না var counterInt = counter.map { Int($0) }? কোথায় counterহবেString?
মার্টিন

@ মার্টিন - না? এটি alচ্ছিক করে তোলে এবং এভাবে কাউন্টার স্ট্রিংয়ে "alচ্ছিক" শব্দটি যুক্ত করে।
স্যাম বি

আইএমএইচও, আপনাকে আপনার বিকল্পগুলি মোড়ক থেকে জোর করা উচিত নয়। ব্যবহার guardএবং if letবিবৃতিগুলি পছন্দ করুন
মার্টিন

-1

সুইং 4-এ স্ট্রিংয়ের মানকে পূর্ণসংখ্যায় রূপান্তর করুন

let strValue:String = "100"
let intValue = strValue as! Int
var intValueFromString:Int = strValue as! Int
or
var intValueFromString = Int(strValue)!
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.