我将数据库中的值存储为0.0004
并在EditText
中显示,但在edittext中显示为4.0E-4
尝试了许多似乎对我没什么用处。
在数据库中存储值很好但是在编辑文本显示时它是错误的。
我尝试过:
遵循以下流程
DecimalFormat FORMATTER = new DecimalFormat("0.####");
textvalue.setText(REAL_FORMATTER.format(new_percent.getLong(new_percent.getColumnIndex(bt.column2))));
但结果不一样。
任何人都可以帮助解决此问题。我希望编辑文本中的显示为0.0004
,而不是4.0E-4
感谢您的时间。
答案 0 :(得分:1)
而不是将模式赋给BigDecimal
,而只是将值直接发送给构造函数参数。
示例:强>
BigDecimal number = new BigDecimal("4.0E-4");
int ints= number.intValue(); //BigDecimal to integer
double doubles= number.doubleValue(); //BigDecimal to double
答案 1 :(得分:0)
为什么要使用 getLong 方法检索 0.0004 值?
正如我想的那样,您将 0.0004 存储在 REAL 列类型的数据库中, 所以你应该用 getDouble 来检索它。
DecimalFormat formatter = new DecimalFormat("0.####");
textValue.setText(
formatter.format(
new_percent.getDouble(
new_percent.getColumnIndexOrThrow(bt.column2))));
答案 2 :(得分:0)
最终实现如下。
BigDecimal.valueOf(Cursor.getDouble(Cursor.getColumnIndex(bt.column2)))