我想通过 java (不是javascript)中的内置函数截断小数点后的数字。 例如: 69.80000000001至69.8
请指导。
答案 0 :(得分:2)
Decimal Format班怎么样?
我没有对此进行过测试,但是:好的,这个应该工作:
import java.text.DecimalFormat;
import java.math.RoundingMode;
public class Test
{
public static void main(String args[])
{
double i = 69.8999999999;
DecimalFormat format = new DecimalFormat("#.#");
format.setRoundingMode(RoundingMode.FLOOR);
String s = format.format(i);
i = Double.parseDouble(s);
System.out.println(i); //should be 69.8
}
}
答案 1 :(得分:1)
您可以使用BigDecimal的缩放功能:
new BigDecimal(69.80000000001).setScale(1, RoundingMode.HALF_UP).doubleValue();
这是为了进一步使用舍入值。如果您只想打印舍入值但保留原始值,则DecimalFormat是Matt所描述的正确选择。