2012-02-08 21 views
7

私はAndroidのsqliteデータベースに通貨の値を格納しようとしています。私はそう考えていませんintここで使用されます。私はBigdecimalが使用できると聞きました。誰かが私にそれをsqliteデータベースに値を送信するために使用する必要がある方法を教えることができる場合。SQlite androidデータベースに通貨を保存しています

答えて

11

BigDecimalをStringとして格納します。

toPlainString()メソッドを使用できます。

次に、データベースからそれをプルすると、新しいBigDecimalを作成できます。

BigDecimal c = new BigDecimal(String s) 

あなたはそれが整数でなければなりませんと言っても、文字列として3.0店舗すべてのデータ型SQLiteの信じられないかもしれません。 this web page from the official SQLite websiteを見て、「マニフェストのタイプとBLOBのサポート」セクションまでスクロールしてください。他のタイプの列に文字列を格納する方法について説明します。

+0

私はあなたを信じていません。SQLite 3.0は整数を整数として格納します。すべてを文字列として保存したのは旧バージョン2.8でした。 – Jeff

+0

それは間違っている。 (リンクを修正したばかりの)サイトに移動して検索してください:違いは、フォーマット変換が不可能でもSQLite 3.0はデータを保存するという点です。 – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

+0

「データが列に挿入されると、その列はデータ形式を列の宣言された型に変換しようとします」という前ページの文も含めてください。列をIntegerとして宣言し、文字列 '12345'を格納すると、SQLiteはその文字列を整数に変換し、整数として格納します。 – Jeff

0

ここでIntを使用してください。 SQliteはintに8バイトを使用するため、最大値は2^64で、1.8446744e + 19-1、多かれ少なかれ10^18です。

また、

関連する問題