EditText将十进制转换为指数

时间:2014-06-01 07:28:04

标签: android android-edittext

我将数据库中的值存储为0.0004并在EditText中显示,但在edittext中显示为4.0E-4尝试了许多似乎对我没什么用处。

在数据库中存储值很好但是在编辑文本显示时它是错误的。

我尝试过:

  1. 增加了编辑文本的大小,但没有解决问题。
  2. 遵循以下流程

    DecimalFormat FORMATTER = new DecimalFormat("0.####");
    
     textvalue.setText(REAL_FORMATTER.format(new_percent.getLong(new_percent.getColumnIndex(bt.column2))));
    
  3. 但结果不一样。

    任何人都可以帮助解决此问题。我希望编辑文本中的显示为0.0004,而不是4.0E-4

    感谢您的时间。

3 个答案:

答案 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)))