異なる測定単位間でコンバーターのようなアプリを構築しようとしています。現在、私は SQLite を使用しており、さまざまな単位と対応するレートを含むテーブルがあります。
アプリ内には、選択した単位に応じてレート値を取得する次の関数があります。
+(float)rateFrom:(NSString *)from to:(NSString *)to{
if (sqlite3_open([sqlPath UTF8String], &database) == SQLITE_OK) {
const char *sql = [[NSString stringWithFormat:@"SELECT %@ FROM Units WHERE code = '%@'", to, from] UTF8String];
sqlite3_stmt *selectstmt;
if(sqlite3_prepare_v2(database, sql, -1, &selectstmt, NULL) == SQLITE_OK) {
return (float)sqlite3_column_double(selectstmt, 0);
}
}
else{
sqlite3_close(database);
}
return -1;
}
問題は還元率が0.00
作成したクエリをターミナル ウィンドウで直接試したところ、正しい値が返されました
私も試してみましたがNSNumber
、initWithFloat:
成功しませんでした。
ここで私が間違っていることを誰かに説明してもらえますか?
前もって感謝します。