android - 显示正规数而不是指数形式

标签 android double normalization bigdecimal primitive-types

我想以标准形式而不是指数形式显示数字

例如,我的号码存储在一个值为 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/

相关文章:

3d - 将 3d 坐标向量归一化为介于 0 和 1 之间

java - 从 AsyncTask 调用另一个 Activity

java - 异步任务停止工作,在使用断点调试时工作 - Android

android - 如何将 float 放在bottomAppBar的开头

c - 将小 (1.0E-12) 数字存储为科学记数法中的 double

android - 无法重现安卓崩溃

mysql - 如何最优地构建此表,每个用户的技能基于另一个表

Android - 任何大小文本的等宽布局

c# - 用 C# 划分数学

python - matplotlib hexbin 归一化