ContentValue不接受BigDecimal

时间:2012-02-02 07:19:34

标签: java android eclipse

大家好我想做这个

    ContentValues initialValues = new ContentValues();

  initialValues.put("monthlyBudget",account.monthlyBudge

其中MonthlyBudget is BigDecimal变量。

现在它提供的错误会更改monthlyBudget to String的类型。

如何解决此问题。

1 个答案:

答案 0 :(得分:1)

ContentValues文档列出了put的所有重载 - 并且没有一个需要BigDecimal,所以我对它的失败并不感到惊讶。

您可以选择两个选项:

  • 如果这是一个货币值(它听起来像),您可能能够以固定的精度处理它,例如2位小数,且范围相对有限。只需将BigDecimal乘以100,将整数结果作为long,然后将long放入ContentValues。稍后提取时,请从BigDecimal创建一个long并将其除以100.(或者更改所有代码,将预算视为各处的整数分数,可能。)

  • 您可以存储字符串表示形式,并在获取它时将该字符串传递给BigDecimal构造函数。