这是 TextView :
<TextView
android:id="@+id/input"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#000000"
android:gravity="right"
android:textAlignment="viewEnd"
android:textColor="#ffffff"
android:textSize="50sp"/>
我正在使用:
String inputStr = doubleToString(result);
input.setText(inputStr);
TextView
只是扩展更多行以适应大量数字(现在是字符串)。我想这是因为我使用了 WRAP_CONTENT
作为高度,但无法使用 FILL_PARENT
。
如果我使用 android:lines="1"
那么我根本看不到所有的数字。
那么如何在 TextView
中显示之前将 double 转换为科学记数法?
编辑
我刚刚发现它以科学计数法显示,但仅适用于大于 10^12 的值但它们不仅仅是可见的。
所以我只是显示大于 1E10 的值。
最佳答案
将 double 转换为科学记数法
public static String parseToCientificNotation(double result) {
int cont = 0;
java.text.DecimalFormat DECIMAL_FORMATER = new java.text.DecimalFormat("0.##");
while (((int) result) != 0) {
result/= 10;
cont++;
}
return DECIMAL_FORMATER.format(result).replace(",", ".") + " x10^ -" + cont;
}
关于java - TextView 不以科学记数法显示大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16857939/