主页 > 科技生活 >赚钱的网络游戏_在java中,如何使BigDecimal和DecimalFormat做到四舍五入?谢谢 >

赚钱的网络游戏_在java中,如何使BigDecimal和DecimalFormat做到四舍五入?谢谢

在java中,如何使BigDecimal和DecimalFormat做到四舍五入?谢谢
例如
BigDecimal rounded = value.round(new MathContext(3, RoundingMode.HALF_UP));

float floater = 59.999f;

DecimalFormat df = new DecimalFormat("00.0");

df.setRoundingMode(RoundingMode.DOWN);

importjava.math.BigDecimal;
importjava.math.RoundingMode;
importjava.text.DecimalFormat;

publicclassTest{
publicstaticvoidmain(String[]args){
BigDecimalbd=BigDecimal.valueOf(1234.5678);
DecimalFormatdf=newDecimalFormat("###,###.00");
df.setRoundingMode(RoundingMode.HALF_UP);
System.out.println(df.format(bd));
}
}本回答被网友采纳里面可以设置,有设置方法的。自己查吧追问

没找到,找到的不管用才问的追答

使用Math吧那就。
java 两个数相除后四舍五入并保留两位小数有哪些方式?



1 double f = 3.1516;
BigDecimal b = new BigDecimal(f);
2 double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()
new java.text.DecimalFormat("#.00").format(3.1415926)
3 double d = 3.1415926;
String result = String.format("%.2f", d);
// %.2f %.小数点前任意位数 2 表示两位小数 格式后果为f 表示浮点型。


4 Math.round(5.2644555 * 100) * 0.01d;
//String.format("%0" + 15 + "d", 23) 23不足15为就在补01 方法点拨求近似数时:保留整数,表示精确到个位;保留一位小数,表示精确到十分位;保留两位小数,表示精确到百分位……
2、保留一位小数
如果保留一位小数,就要把第二、三位小数省略。
在表示近似数时,小数末尾的0不能去掉。

3、保留整数部分:
≈1


java 四舍五入
那么麻烦,给个最简单法
import java.text.DecimalFormat;

public class Test {
public static void main(String[] args) {
float a = 999.3599f;
//这里控制小数点后几
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(a));
}
}本回答由推荐float a = 999.3599f; //设
int b = (int)Math.round(a * 100); //小数点后两前移,并四舍五
float c = (double)b / 100.00; //还原小数点后两位本回答被提问者采纳最好法,比如 4.6 四舍五入, 4.6 + 0.5,结果再强制转成int型,取整数部分.结果就5.
如果是4.4 的话,4.4+0.5=4.9 取整为4

如果位小数的话,先乘一个数,如10 100 1000 ,具体看小数位置,再执行上面的算法,结果再除以刚才乘的数.DecimalFormat df = new DecimalFormat("#.00");
用这个自己定义格式Math.round(a*100)/100.00
怎么把值四舍五入?java的
方式一

四舍五入
doublef=111231.5585;
BigDecimalb=newBigDecimal(f);
doublef1=b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
保留两数

方式二:

java.text.DecimalFormatdf=newjava.text.DecimalFormat(”#.00″);
df.format(你要格式化的数字);

例:new java.text.DecimalFormat(”#.00″).format(3.1415926)

#.00 表示两位小数 #.0000四位小数 以此类推…

方式三:

double d = 3.1415926;

String result = String .format(”%.2f”);

%.2f %. 表示 小数点前任意位数2 表示两位小数 格式后的结果为f 表示浮点型。

方式四:

此外如果使用struts标签做输出的话,有个format属性,设置为format="0.00"就是保留两位小数

例如:最简单的做法
return ((m+0.0)/n+0.5)追问

如果答案是4.0,加0.5不是错了吗追答

返回int型时,系统的做法是去尾。 4.5 去尾是44.9去尾还是4.追问

它是四舍五入,4.9就是5


上一篇: 下一篇: