2015-11-14 3 views
0

В моей базе CoreData Base значение 12500,00, оно хранится как 12500.Как перенести NSDecimalNumber из основных данных на метку с двумя цифрами после или. даже если значение равно

Я хочу привести его в табличный вид, и я хотел бы иметь номер с 2-мя цифрами, такими как валюта.

var unit = "€"  
textLabel.text = ("%@ %.2f" ,unit, (entityName[indexPath.row].price!))` 

я получаю только цифры с десятичной как € 12500,55 в моем лейбле, но не € 12500,00

ответ

0
let currency = "€" 
let costAsString = String(format: "\(currency) %.2f", Double(12500)) 
print(costAsString) // € 12500.00 
+0

да, который работает. как бы вы локализовали текст, например, 12,500,00 или 12 500,00? – HongKongTom

+0

вы можете расширить свои значения, чтобы они соответствовали протоколу CustomDebugStringConvertible. – user3441734

+0

, когда я пробую этот код, он не работает: 'String (format:"% @% .2f ", arguments: unitSymbole, [Double (12500)])' unitSymbole устанавливается как String в var в "€" – HongKongTom

0

Я хотел бы использовать NSNumberFormatter:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];     
numberFormatter.numberStyle = NSNumberFormatterCurrencyStyle; 
NSString *currencyString = [numberFormatter stringFromNumber: price]; 

(Код К сожалению, код не указан ObjectiveC)