我需要在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);
如何让它们像往常一样显示数字?
非常感谢你的时间
答案 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