java四舍五入(java四舍五入的方法)
关于负数的四舍五入-1.84四舍五入为多少-1.86四舍五入为多
四舍五入是指绝对值的四舍五入
精确到0.1的是
1.84≈1.8
-.184≈-1.8
1.86≈1.9
-1.86≈-1.9
…….
Java的四舍五入函数是什么?
public String format(int size,double number){
StringBuffer formatString = new StringBuffer(“0”);
if(size>0){
formatString.append(“.”);
for (int i = 0; i < size; i++) {
formatString.append(“#“);
DecimalFormat df = new DecimalFormat(formatString.toString());
return df.format(number);
java四舍五入怎么做
除100是因为上一步的运算为确保精确性,把值value乘以100运算。带上.0是防止数据被转化成整型,造成小数点后位丢失。doubleret=l1/100.0;
因为这个返回值 ret是 double类型的。double就是需要100.0的。floata=999.3599f;//设数值
intb=(int)math.round(a*100);//小数点后两位前移,并四舍五入
floatc=(double)b/100.00;//还原小数点后两位涉及四舍五入,建议使用java.math.BigDecimal类来出来,用原始类型处理数字乘除法并不安全。l1是个long类型的,是不带小数点的。
如果写成: l1/100,那么结果就是不带小数点的,只取了整数部分。
而写成: l1/100.0,结果就是一个浮点类型的了,就是带了小数点的数字了。
java 四舍五入
199999.00*0.015=2999.984999….
所以想输出2999.99
先把49变成5
然后才能四舍五入
System.out.println(new java.math.BigDecimal(new Double(199999.00*0.015)).setScale(3,java.math.BigDecimal.ROUND_HALF_UP).setScale(2,java.math.BigDecimal.ROUND_HALF_UP).doubleValue());import java.math.roundingmode;
import java.text.numberformat;
public class snippet {
public static void main(string[] args) {
double x= 1.9999998;
numberformat nf = numberformat.getinstance();
nf.setroundingmode(roundingmode.half_up);//设置四舍五入
nf.setminimumfractiondigits(2);//设置最小保留几位小数
nf.setmaximumfractiondigits(2);//设置最大保留几位小数
system.out.println(nf.format(x));
}不太懂???
你都已经会了不是吗???
b2.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();
b2.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
double m , n;
m = Math.round( 2999.985 * 100 );//
n = m / 100 ;//
System.out.println(“m is : “ + m);
System.out.println(“n is : “ + n);
还没有评论,来说两句吧...