mad*_*man 3 java double decimal rounding digits
嗨所有这可能是一个微不足道的问题,但至于现在我找不到任何解决方案.所以请求你的帮助!
我想要得到的是一个特定的编码表,如下所示:
0.000
0.100
0.200
Run Code Online (Sandbox Code Playgroud)
我需要跟踪零,因为我将使用它们来重建特定数组的一部分.创建这些数字的原始循环是:
for(int k=0;k<m_0;k++){
for(int l=0;l<m_1;l++){
for(int a=0;a<a1;a++){
Y[x-1]=0.1*k+0.01*l+0.001*a;
x++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题!我无法在小数位后修复零,而不是上面描述的表我得到以下:
0.0
0.1
0.2
Run Code Online (Sandbox Code Playgroud)
作为解决方案,我尝试使用BigDecimal和DecimalFormat但没有成功.有什么建议?
UPD很少说出我想要做的事情.我正在编码特定的数组到数组和返回索引对应.例如0.100
将被分解为1 and 0 and 0
并用作数组索引标记,如:
Array1[Method(1,0,0,Y(i)][Method(1,0,0,Y(i))]=Array2[1][0][0]
所以我需要一个适合分配数组索引和字符串的输出不会做的交易.
这个DecimalFormat
班级是正确的地方.你只需要正确的格式.
DecimalFormat df = new DecimalFormat("0.000");
System.out.println(df.format(0.1));
Run Code Online (Sandbox Code Playgroud)
输出:
0.100
Run Code Online (Sandbox Code Playgroud)