2012-02-02 2 views
0
私はこの

ContentValueはBigDecimalの

ContentValues initialValues = new ContentValues(); 

    initialValues.put("monthlyBudget",account.monthlyBudge 

どこMonthlyBudget is BigDecimal変数を実行しようとしてい

こんにちはみんなを受け入れません。

monthlyBudget to Stringのタイプを変更するとエラーが発生します。

どうすればこの問題を解決できますか?

+0

これはobjective-c *と* Javaについてどうすればよいですか? 'initialValues'の型は何ですか?それはあなたの 'ContentValues'ですか? 'ContentValues'のためのJavaDocは' BigDecimal'のためのオーバーロードを表示しませんので、なぜこれが動作すると期待していましたか? –

+0

私は投稿を編集しました。そして、私はBigdecimalの値を実際にデータベースに保存したいのです。 –

答えて

1

ContentValuesのドキュメントには、putのすべてのオーバーロードが記載されていますが、いずれもBigDecimalを受け取っていないため、失敗しているとは思いません。あなたが取ることができる

つのオプション:

  • これは(それはのように聞こえる)通貨の値である場合には、例えば、固定精度にそれに対処することができるかもしれ小数点第2位、相対的に限られた範囲です。 BigDecimalに100を掛けて、整数結果をlongとし、longContentValuesに入れてください。あなたが後でそれを解凍すると、longからBigDecimalを作成し、100で割り(または潜在的に、どこでもセントの整数として予算を治療するためのすべてのコードを変更します。)

  • あなたは、文字列表現を格納することができ、その文字列をフェッチするときにその文字列をBigDecimalコンストラクタに渡します。

+0

ありがとう、私はこれを試してみます。また、私はDateクラスで変数を得ました。私はそれと何をすべきですか? –

+0

@umar: 'Date'と' long'の間で変換するのは簡単です。それは基本的にはすべてです.'getTime'を使用してUnixエポックからミリ秒数を取得し、それを 'Date'元の 'Date'を元に戻します。 –