我想以标准形式而不是指数形式显示数字
例如,我的号码存储在一个值为 1234567890123 的双变量中
我想得到准确的表示。但是当我将它传递给一些 TextView 进行显示时,它变成了 1.234E12
最佳答案
尝试使用 Java 中的大十进制类..
大十进制类具有一些内置舍入函数的优势,您可以使用例如:
Double a = 7.77d * 100000000; //Multiply Operation
System.out.println("Large multiply " + a.doubleValue());
System.out.println("Magic of big decimal " + BigDecimal.valueOf(a).setScale(0,RoundingMode.HALF_EVEN).toPlainString());
a = 7.77d / 100000; //Devide Operation
System.out.println("Devide operation " + a.doubleValue());
System.out.println("Magic of big decimal " + BigDecimal.valueOf(a).toPlainString());
DecimalFormat formatter = new DecimalFormat("0.000000");
System.out.println("Trimming the big string : "+formatter .format(a));
输出:
Large multiply 7.77E8
Magic of big decimal 777000000
Devide operation 7.769999999999999E-5
Magic of big decimal 0.00007769999999999999
Trimming the big string : 0.000078
关于android - 显示正规数而不是指数形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5535682/