Java自动舍入数据如何预防
来源:爱站网时间:2022-10-24编辑:网友分享
这篇文章主要讲解的是“Java自动舍入数据如何预防”内容,有不少网友之前来咨询爱站技术频道网站小编。为此小编整理相关知识点给大家参考下,希望能帮助到朋友们处理问题。
问题描述
我有一个返回双精度值的方法
public double getOdds() {
return odds;
}
完全可以正常工作。但是,问题在于显示数据时,它会自动将插入的值四舍五入。我想对此表示偏爱,并获得2个小数的值。
这是我在JSP中调用该方法的地方。 ArrayList“下注”由用户输入的所有值组成。但是,如上所述,当用户输入例如2.75,它返回3.0
ArrayList <bets> bets = betsDAO.getBets(x, y);
for (bets bet : bets) {
<td><%=bet.getOdds()%></td>
}
我对Java还是很陌生,并曾尝试寻找解决方案,但是很遗憾,我无法解决问题。
思路一:
Math.floor不能帮助四舍五入吗?它会四舍五入,如果您需要使用四舍五入,请使用Math.ceil。
思路二:
取决于您打算使用哪种数据类型,但是此
should do the trick for you
public class Rounding {
public static void main(String[] args) {
//using string format
double input = 3.14159265359;
System.out.println("double : " + input);
System.out.println("double : " + String.format("%.2f", input));
//using Decimal format
double num = 1.34567;
DecimalFormat df = new DecimalFormat("#.###");
df.setRoundingMode(RoundingMode.CEILING);
System.out.println(df.format(num));
}
}
输出:双重:3.14159265359双倍:3.14双倍:3.14
输出:1.346
因此您可以在此处更具体地指定要返回的小数点。这完全取决于您项目中小数精度的重要性。
Java自动舍入数据如何预防的内容已经分享完结了,持续关注我们爱站技术频道网站,小编每天都会提供各种不同类型的文章给大家,帮助到大家解决一些小问题 。