0

我需要在文本视图中显示一些数字,但是当它们有 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);

我怎样才能让他们像往常一样显示数字?

非常感谢您的宝贵时间

4

2 回答 2

0

你应该使用

scrip.setText(Integer.toString(c.getInt(c.getColumnIndex("Description"))));
于 2013-07-09T04:53:43.667 回答
0

您也可以简单地使用 class 来做到这一点java.math.BigDecimal。您可以使用BigDecimal.valueOf()将 Double 值转换为BigDecimal.toPlainString()将其转换为纯十进制字符串。

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

资料来源:如何在java中将数字的指数形式转换为十进制形式

于 2013-07-09T05:05:13.967 回答