数字显示1e + 06而不是1 000 000

时间:2013-07-09 04:45:26

标签: android textview numbers size

我需要在textviews中显示一些数字,但是当它们有6个或更多数字时,它们看起来像1e + 06而不是1 000 000。

我必须创建文本视图,我能够做到,并且一切正常。只是那个东西没有像我想的那样显示。我无法在textview中找到一个可以避免这种数字显示的属性。

是否与文本视图的大小有关?

这是我用来创建它们的java上的代码。

descrip=new TextView(context);

descrip.setPadding(0, 10, 0, 10);

descrip.setGravity(Gravity.CENTER);

descrip.setTextAlignment(Gravity.CENTER);

scrip.setText(c.getString(c.getColumnIndex("Description")));

descrip.setWidth(LinearLayout.LayoutParams.MATCH_PARENT);

descrip.setHeight(LinearLayout.LayoutParams.MATCH_PARENT);

descrip.setBackground(img);

layDescrip.addView(descrip);

如何让它们像往常一样显示数字?

非常感谢你的时间

2 个答案:

答案 0 :(得分:0)

你应该使用

scrip.setText(Integer.toString(c.getInt(c.getColumnIndex("Description"))));

答案 1 :(得分:0)

您也可以使用课程java.math.BigDecimal来完成此操作。您可以使用BigDecimal.valueOf()将Double值转换为BigDecimal而不是.toPlainString(),以将其转换为纯十进制字符串。

double val = c.getDouble(c.getColumnIndex("Description"));
scrip.setText(BigDecimal.valueOf(val).toPlainString());

来源:How to Convert Exponential Form of a number to Decimal Form in java