如果值如下,则如何舍入浮点值:
例如:
但如果值如下:
1.2 ==>那么它应该返回1.2
1.90 ==>然后它应该返回1.9
我试图完善它并尝试不同的解决方案,但这对我没有用。
答案 0 :(得分:2)
您可以创建像这样的辅助函数
static public void Normalize(String pattern, double value ) {
DecimalFormat formatter = new DecimalFormat(pattern);
String normalizedValue = formatter.format(value);
System.out.println(normalizedValue);
}
Normalize("0.#####",2.40); // 2.4
Normalize("0.#####",2.0); // 2
这对我有用。
答案 1 :(得分:0)
您在这里谈论的是显示问题。 1.0中的“0”表示数字的准确程度,如果您只显示1,那么阅读的人不知道该值的准确程度(与1.1,1.9甚至1.0003相比)。
我的建议是将你的答案转换为字符串并检查最后一个值是否为“0”,如果是,则将其删除以用于显示目的(或其他一些格式化解决方案)。
注意:我不建议这样做,因为它会改变值的含义。