Ciao e grazie per la risposta.
Allora il valore è il valore del campo e se lo stampo come stringa dopo recuperato mi stampa 3,50.
Se lo stampo come stringa dopo passato alla vista mi stampa sempre 3,50.
Il problema è quando lo converto in double.
Penso che il codice che ho postato basti a capire comunque qui c'è il resto del codice
codice:
while ( sqlite3_step(selectstm) == SQLITE_ROW) {
costo_singolo_capo = [NSString stringWithUTF8String:(char *) sqlite3_column_text(selectstm, 0)];
costo_capo_multiplo = [NSString stringWithUTF8String:(char *) sqlite3_column_text(selectstm, 1)];
tipo_capo = [NSString stringWithUTF8String:(char *) sqlite3_column_text(selectstm, 2)];
dictionary = [[NSMutableDictionary alloc] initWithObjectsAndKeys:costo_singolo_capo, @"costo_singolo_capo", costo_capo_multiplo, @"costo_capo_multiplo", tipo_capo, @"tipo_capo", nil];
[listaTemp addObject:dictionary];
[dictionary release];
Quindi facendo la query come dicevo prima recupero i campi dal db. i primi due sono prezzi e quindi float/double con precisione doppia.
Invece il terzo stringa.
Adesso passo questi valori alla vista dove effettuo i calcoli e li prelevo facendo:
codice:
// qui c'è la chiamata al metodo che poi mi restituisce l'array di cui sotto....
NSMutableDictionary *dictionary = [data objectAtIndex:0];
NSString *tipoCapo = [tariffadictionary objectForKey:@"tipo_capo"]];
NSString *capoSingolo = [tariffadictionary objectForKey:@"costo_singolo_capo"]];
NSString *capoMulti = [tariffadictionary objectForKey:@"costo_capo_multiplo"]];
Logicamente se stampo il costo qui essendo una stringa me lo stampa correttamente.
Invece se adesso converto la stringa in float con questa istruzione:
codice:
float c1 = [capoSingolo floatValue];
float c2 = [capoMulti floatValue];
Se stampo i due float mi vengono 0,000000
Spero di essermi spiegato meglio
Fank