小数点后如何制作一位数?

时间:2012-01-30 18:26:33

标签: java int double rounding

搜索小数点后的两位数字如下所示

$ = (double) (((int)($ * 100)) / 100.0);

任何人都可以帮助如何在小数点后制作“一位数”?

非常感谢

2 个答案:

答案 0 :(得分:0)

这个怎么样:

$ = (double) (((int)($ * 10)) / 10.0);

注意:评论后编辑。 如果你需要java而舍入而不是截断,试试这个:

import java.lang.Math;

double a;
a = ((double) (round(a*10))) / 10.0;

这将向左移动一个位置的点,舍入到最接近的整数,然后将点移回到右边的位置。

第二次编辑:

你需要什么仍然不清楚。 如果您可以像以前一样使用truncate:

double $=1.24*(double)amount;
$ = (double) (((int)($ * 1000)) / 1000.0);
outelc.setText("ELC(1.24)= " + Double.toString($) + " /pc");

如果你需要四舍五入:

double $=1.24*(double)amount;
$ = (double) ((round($ * 1000)) / 1000.0);
outelc.setText("ELC(1.24)= " + Double.toString($) + " /pc");

答案 1 :(得分:0)

如果您使用双打来存储/计算货币值,那么您可能会发现自己陷入了四舍五入的痛苦世界。在那里,做到了,得到了伤疤。

我强烈建议您对所有货币值使用BigDecimal值,甚至在实例化中不涉及双精度数。始终使用String构造函数。

查看相关问题herehere