Originariamente inviato da Who am I
Prova a convertirla senza il metodo doubleValue ne floatValue:

codice:
char* str=[costo UTF8String];
NSLog(@"%f",atof(str) );
Cosa ti stampa?

Allora vi scrivo qui la stampa sia delle stringhe sia col metodo propostomi.

COSTO1 STRINGA_________ 0,05
COSTO2 STRINGA________4,50

Valori Stampati come indicatomi da te sopra.

COSTO 1 Non stringa________0.000000
COSTO 2 Non stringa________4.000000


Nel DB il valore è scritto con la virgola tipo 4,50

PS il risultato della stampa è lo stesso che ottengo io anche forzando il valore come float o come double.

Grazie per l'aiuto
Frank