我有一个双,我试图将其转换为小数.当我使用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?
我知道您可以设置日期格式,但是如何设置其他特定于区域设置的内容,例如十进制数字格式?(我的意思是逗号与点)
我想将一个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
无论双重值是什么,我都应该将小数精确到两个位置.
我想创建一个十进制格式化程序,最多可显示 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但不明白该怎么做。请你帮助我好吗?
我正在尝试格式化数字DecimalFormat.但我希望它格式化一个数字,就像
input: 1234. --> should be formatted to: 1,234.
Run Code Online (Sandbox Code Playgroud)
但我得到1,234.0或1,234.00取决于我的十进制格式规则我需要做什么才能完成这项工作?
我试图使用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.所以任何帮助请和谢谢