2016-08-17 11 views
0

CoreDataを使用してデータを格納しています。ContactNumberをNSNumberのデータ型で保存しています。私はすぐにNSNumberをStringに変換する際にエラーが発生する

let entityDescription = 
      NSEntityDescription.entityForName("Retailer", 
       inManagedObjectContext: managedObjectContext) 

      let request = NSFetchRequest() 
      request.entity = entityDescription 

      do{ 
       let results = try managedObjectContext.executeFetchRequest(request) 


       for test in results 
       { 


        print(test.valueForKey("address") as? String) 
        print(test.valueForKey("classes") as? String) 
        print(test.valueForKey("contactnumber") as! NSNumber) 
        print(test.valueForKey("landmark") as? String) 
        print(test.valueForKey("name") as? String) 
        print(test.valueForKey("outlettype") as? String) 
        print(test.valueForKey("retailername") as? String) 
        print(test.valueForKey("type") as? String) 
        print(test.valueForKey("credit") as? String) 


     self.arrayOfData.append((StoringClass(retailersname: (test.valueForKey("retailername") as? String)!, names: (test.valueForKey("name") as? String)!, outlettypes: (test.valueForKey("outlettype") as? String)!, types: (test.valueForKey("type") as? String)!, credits: (test.valueForKey("credit") as? String)!, landmarks: (test.valueForKey("landmark") as? String)!, classestype: (test.valueForKey("classes") as? String)!, addresses: (test.valueForKey("address") as? String)!, contactnumbers:s))) 

       } 

のようにDBからデータを取得しています。しかし、私の問題は、私はそのような「-27790.000000」としてContactNumberを取得しています。 NSNumberをStringに変換しようとしましたが、それは私のためには機能しません。

let s:String = String(format:"%f", test.valueForKey("contactnumber")!.doubleValue) 

print(s) - output: “-27790.000000” 

私は何をしているのか誰にでも教えてください。

ThanksInアドバンス

答えて

2

String(format:...)を使用しないでください。用途:NSNumberFormatter

let f = NSNumberFormatter() 
f.maximumFractionDigits = 0 
let s = f.stringFromNumber(-27790.00)! 
print(s) // Output "-27790" 
関連する問題