标签: decimalformat

科学记数法到十进制

我有一个双,我试图将其转换为小数.当我使用decimalformat来实现这一点时,我得到以下内容:

public void roundNumber(){
    double d = 2.081641999208976E-4;
    JOptionPane.showMessageDialog(null,roundFiveDecimals(d));
}

public double roundFiveDecimals(double d) {
    DecimalFormat df = new DecimalFormat("#.#####");
    return Double.valueOf(df.format(d));
}
Run Code Online (Sandbox Code Playgroud)

我希望输出为.00021; 但是,我得到2.1E-4.任何人都可以帮助解释如何获得.00021而不是2.1E-4?

java scientific-notation decimal decimalformat

0
推荐指数
1
解决办法
2569
查看次数

如何在 GSON 上设置区域设置(用于十进制数字分隔符)

我知道您可以设置日期格式,但是如何设置其他特定于区域设置的内容,例如十进制数字格式?(我的意思是逗号与点)

locale decimalformat gson

0
推荐指数
1
解决办法
2142
查看次数

在java中将double转换为exaclty两位小数

我想将一个dobule转换为exaclty两个地方.我有相同查询的答案,但没有一个满足我的问题.

这是我正在使用的代码:

Double d=15.99965754;
System.out.println("Value before formatting is : "+d);
String value=new DecimalFormat("##.00").format(d);
System.out.println("The value after formatting is :" +Double.parseDouble(value));
Run Code Online (Sandbox Code Playgroud)

而我得到的输出是

格式化之前的值为:15.99965754格式化后的值为:16.0

但我真正期待印刷的是:

格式化之前的值为:15.99965754格式化后的值为:16.00

无论双重值是什么,我都应该将小数精确到两个位置.

java double decimalformat

0
推荐指数
1
解决办法
359
查看次数

如何创建 Kotlin 十进制格式化程序

我想创建一个十进制格式化程序,最多可显示 2 位十进制数字,并带有给定的分隔符。

例如使用分隔符","

input -> output
3.0   -> "3"
3.1   -> "3,1"
3.14  -> "3,14"
3.141 -> "3,14"
3.149 -> "3,15"
Run Code Online (Sandbox Code Playgroud)

我想在 Kotlin 中执行此操作,我想我必须使用DecimalFormat但不明白该怎么做。请你帮助我好吗?

numberformatter decimalformat kotlin

0
推荐指数
1
解决办法
1422
查看次数

使用小数分隔符格式化数字/字符串

我正在尝试格式化数字DecimalFormat.但我希望它格式化一个数字,就像

input: 1234.  -->  should be formatted to: 1,234.
Run Code Online (Sandbox Code Playgroud)

但我得到1,234.01,234.00取决于我的十进制格式规则我需要做什么才能完成这项工作?

java string-formatting number-formatting decimalformat

-1
推荐指数
1
解决办法
345
查看次数

Java中具有固定数小数位数的科学记数法

我试图使用decimalFormat以固定数量的小数位后的科学记数法显示十进制数字,如下所示:

DecimalFormat df = new DecimalFormat("0.####E0");
System.out.println(df.format(0.2222));
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我使用模式"0.#### E0"将小数位数设置为4,程序输出2.222E-1.

现在这是我得到的不同输入值:

Five fractional digits: 0.22222 = 2.2222E-1
Six fractional digits: 0.22222 = 2.22222E-1
Seven fractional digits: 0.22222 = 2.22222E-1
Run Code Online (Sandbox Code Playgroud)

等等...

我想要做的是代替2.222222E-1,程序应该显示2.2222E-3.所以任何帮助请和谢谢

java decimalformat

-1
推荐指数
1
解决办法
127
查看次数