请问java提供什么方法实现将一个浮点数,四舍五入只保留小数点后两位
5个回答
展开全部
第一:从数据库读出时可以进行操作,将读出的数据进行处理后输出,这里可以用数据库提供的方法。这里不多提。
第二:也可以用JAVA进行处理,方法很多。
这里说两种吧:
第一
BigDecimal bd = new BigDecima("5.14881");
bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP); System.out.println(bd);
第二
static double convert(double value){
long l1 = Math.round(value*100); //四舍五入
double ret = l1/100.0; //注意:使用 100.0 而不是 100
return ret;
}
public static void main(String[] args) {
// BigDecimal bd = new BigDecimal("3.14159265");
// bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP);
double bd = convert(3.14559);
System.out.println(bd);
}
第二:也可以用JAVA进行处理,方法很多。
这里说两种吧:
第一
BigDecimal bd = new BigDecima("5.14881");
bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP); System.out.println(bd);
第二
static double convert(double value){
long l1 = Math.round(value*100); //四舍五入
double ret = l1/100.0; //注意:使用 100.0 而不是 100
return ret;
}
public static void main(String[] args) {
// BigDecimal bd = new BigDecimal("3.14159265");
// bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP);
double bd = convert(3.14559);
System.out.println(bd);
}
展开全部
(float)Math.round(yournum*100)/100;
yournum 就是你给出的浮点数,然后执行这句话就是你要的结果。以后提问题最好给点悬赏分。
yournum 就是你给出的浮点数,然后执行这句话就是你要的结果。以后提问题最好给点悬赏分。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要你进行格式化一下:
String parten = "#.##";
DecimalFormat decimal = new DecimalFormat(parten);
String str= decimal.format(你要格式化的东西);
String parten = "#.##";
DecimalFormat decimal = new DecimalFormat(parten);
String str= decimal.format(你要格式化的东西);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如:
float a = (float)1.123;
DecimalFormat decimal = new DecimalFormat("#.##");
String result = decimal.format(""+a);
这样result就等于1.12了
float a = (float)1.123;
DecimalFormat decimal = new DecimalFormat("#.##");
String result = decimal.format(""+a);
这样result就等于1.12了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
BigDecimal bd = new BigDecimal(0.7553f);
bd = bd.round(new MathContext(2));
System.out.println(bd);
---------------------------------------
注:
java.math.BigDecimal(float value)
java.math.MathContext(int precision)
BigDecimal.round(MathContext): BigDecimal
明白了吧?
另外引申一句:所有的数值处理都在java.math包中,所有的文本格式处理都在java.text包中,如果你希望输入保留两位小数的文本也可以用java.text包中的DecimalFormat类来处理。不过它返回的是字符串。
bd = bd.round(new MathContext(2));
System.out.println(bd);
---------------------------------------
注:
java.math.BigDecimal(float value)
java.math.MathContext(int precision)
BigDecimal.round(MathContext): BigDecimal
明白了吧?
另外引申一句:所有的数值处理都在java.math包中,所有的文本格式处理都在java.text包中,如果你希望输入保留两位小数的文本也可以用java.text包中的DecimalFormat类来处理。不过它返回的是字符串。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询