大家好我想做这个
ContentValues initialValues = new ContentValues();
initialValues.put("monthlyBudget",account.monthlyBudge
其中MonthlyBudget is BigDecimal
变量。
现在它提供的错误会更改monthlyBudget to String
的类型。
如何解决此问题。
答案 0 :(得分:1)
ContentValues
文档列出了put
的所有重载 - 并且没有一个需要BigDecimal
,所以我对它的失败并不感到惊讶。
您可以选择两个选项:
如果这是一个货币值(它听起来像),您可能能够以固定的精度处理它,例如2位小数,且范围相对有限。只需将BigDecimal
乘以100,将整数结果作为long
,然后将long
放入ContentValues
。稍后提取时,请从BigDecimal
创建一个long
并将其除以100.(或者更改所有代码,将预算视为各处的整数分数,可能。)
您可以存储字符串表示形式,并在获取它时将该字符串传递给BigDecimal
构造函数。