百度
360搜索
搜狗搜索

bigdecimal四舍五入保留两位小数,如何将一个double类型的数四舍五入保留两位小数详细介绍

本文目录一览: 如何将一个double类型的数四舍五入保留两位小数

方式一:
四舍五入
double f = .5585;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
保留两位小数
---------------------------------------------------------------
方式二:
java.text.DecimalFormat df =new java.text.DecimalFormat("#.00");
df.format(你要格式化的数字);
例:new java.text.DecimalFormat("#.00").format(3.)
#.00 表示两位小数 #.0000四位小数 以此类推
方式三:
double d = 3.;
String result = String .format("%.2f");
%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型
方式四:
NumberFormat ddf1=NumberFormat.getNumberInstance() ;
void setMaximumFractionDigits(int digits)
digits 显示的数字位数
为格式化对象设定小数点后的显示的最多位,显示的最后位是舍入的

如何把java得出的数值,保留小数点2位四舍五入

c = Math.round(c*100)/100
// 方式一:
double f = 3.1516;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
// 方式二:
new java.text.DecimalFormat("#.00").format(3.1415926);
// #.00 表示两位小数 #.0000四位小数 以此类推…
// 方式三:
double d = 3.1415926;
String result = String.format("%.2f", d);
// %.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。
//方法四:
Math.round(5.2644555 * 100) * 0.01d;
//String.format("%0" + 15 + "d", 23) 23不足15为就在前面补0

bigdecimal multiply 怎么保留2位小数

BigDecimal b=new BigDecimal(0);
b.multiply(new BigDecimal(0)).setScale(2,BigDecimal.ROUND_HALF_UP);
保留两位小数,四舍五入
BigDecimal b=new BigDecimal(0);
b.multiply(new BigDecimal(0)).setScale(2,BigDecimal.ROUND_HALF_UP);
一、简介
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。
二、构造器描述
BigDecimal(int) 创建一个具有参数所指定整数值的对象。
BigDecimal(double) 创建一个具有参数所指定双精度值的对象。
BigDecimal(long) 创建一个具有参数所指定长整数值的对象。
BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。
三、方法描述
add(BigDecimal) BigDecimal对象中的值相加,然后返回这个对象。
subtract(BigDecimal) BigDecimal对象中的值相减,然后返回这个对象。
multiply(BigDecimal) BigDecimal对象中的值相乘,然后返回这个对象。
divide(BigDecimal) BigDecimal对象中的值相除,然后返回这个对象。
toString() 将BigDecimal对象的数值转换成字符串。
doubleValue() 将BigDecimal对象中的值以双精度数返回。
floatValue() 将BigDecimal对象中的值以单精度数返回。
longValue() 将BigDecimal对象中的值以长整数返回。
intValue() 将BigDecimal对象中的值以整数返回。
四、常用方法
保留两位小数

java中保留两位小数并要求四舍五入的方法

我给你提供一个思路,可能不太高明,不过得过。
把你的数×100,%5,判断,/100,搞定。
double d=2.345;//格式化为StringString str=String.format("%.2f",d);System.out.println(str);//如果需要数字,可以再d = Double.parseDouble(str)//////////////BigDecimal bd=new BigDecimal("2.345");//建议使用String参数BigDecimal bd_half_even = bd.setScale(2,RoundingMode.HALF_EVEN);BigDecimal bd_half_up = bd.setScale(2,RoundingMode.HALF_UP);System.out.println(bd_half_even);System.out.println(bd_half_up);//HALF_EVEN,HALF_UP是两种不同的四舍五入机制//BigDecimal默认使用HALF_EVEN//HALF_UP的效果就是经典的四舍五入//HALF_EVEN是最科学的四舍五入,但结果和HALF_UP可能会不同

android中如何实现除法的保留小数点后2位,四舍五入!

static long round(double a) Returns the closest long to the argument.
static int round(float a) Returns the closest int to the argument
精确的,是这样.
/**
* 提供精确的小数位四舍五入处理。
*
* @param v
* 需要四舍五入的数字
* @param scale
* 小数点后保留几位
* @return 四舍五入后的结果
*/
public static double round(Double v, int scale) {
if (scale < 0) {
throw new IllegalArgumentException("The scale must be a positive integer or zero");
}
BigDecimal b = null == v ? new BigDecimal("0.0") : new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
DecimalFormat df=new DecimalFormat("#.00");
android实现保留小数点后2位,四舍五入,就是java语言的实现,可以使用java提供的round(double a)函数,实现四舍五入的计算。
public static double round(Double v, int scale) {
if (scale < 0) {
throw new IllegalArgumentException("The scale must be a positive integer or zero");
}
BigDecimal b = null == v ? new BigDecimal("0.0") : new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
BigDecimal 这个类是在jdk4.0之后引入的,目的就是为了获得更精确的小数位,以便于计算。

阅读更多 >>>  c语言数组函数,c语言中能不能定义函数数组

请问java提供什么方法实现将一个浮点数,四舍五入只保留小数点后两位

(float)Math.round(yournum*100)/100;
yournum 就是你给出的浮点数,然后执行这句话就是你要的结果。以后提问题最好给点悬赏分。
需要你进行格式化一下:
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了
第一:从数据库读出时可以进行操作,将读出的数据进行处理后输出,这里可以用数据库提供的方法。这里不多提。
第二:也可以用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);
}

怎么excel保留小数两位自动四舍五入

可以使用ROUND函数进行四舍五入,并且指定保留小数位数。
例如:公式=ROUND(123.456,2) 结果=123.46
ROUND用途:按指定位数四舍五入某个数字。
语法:ROUND(number,num_digits)
参数:Number是需要四舍五入的数字;Num_digits为指定的位数,Number按此位数进行处理。
注意:如果num_digits 大于0,则四舍五入到指定的小数位;如果num_digits 等于0,则四舍五入到最接近的整数;如果num_digits 小于0,则在小数点左侧按指定位数四舍五入。
实例:如果A1=65.25,则公式“=ROUND(A1,1)”返回65.3;=ROUND(82.149,2)返回82.15;=ROUND(21.5,-1)返回20。
需要保留小数两位自动四舍五入的操作
如果A列是需要处理的小数,在另外一列单元格,如B1单元格键入公式=round(A1,2)
回车执行并向下填充就可以。
Excel中按照小数点后四舍五入的方法
1、如下图,要求将A列中的数值四舍五入取小数点后两位数,其结果最终在B列显示。
2、选中B4单元格,在单元格中输入运算符号=,然后点击【FX】按钮。
3、如下图,通过上一步骤,系统弹出了【插入函数】对话框:在[选择函数]中点击选择函数[ROUND],完成后点击【确定】按钮。
4、系统弹出【函数参数】对话框:将光标移动到第一个参数后面的对话框中,在对话框中输入A4,即数值所在单元格;将光标移动到第二个参数后面的对话框中,在对话框中输入数字2,即保留两位小数,完成后点击【确定】按钮。
5、返回到工作表中,A4单元格中的数字就四舍五入保留两位小数,结果在B4单元格显示。
6、选中B4单元格,点击鼠标左键拖动鼠标将公式复制到其他单元格即可,结果如下图所示:

Java:对double值进行四舍五入,保留两位小数的几种方法

可以四舍五入,也可以直接截断。
比如:输入12345.6789,输出可以是12345.68也可以是12345.67。至于是否需要四舍五入,可以通过参数来决定(RoundingMode.UP/RoundingMode.DOWN等参数)。
2. 实现代码packagecom.clzhang.sample;importjava.math.BigDecimal;importjava.math.RoundingMode;importjava.text.DecimalFormat;importjava.text.NumberFormat;publicclassDoubleTest {/**
* 保留两位小数,四舍五入的一个老土的方法*@paramd*@return*/publicstaticdoubleformatDouble1(doubled) {return(double)Math.round(d*100)/100;}/**
* The BigDecimal class provides operations for arithmetic, scale manipulation, rounding, comparison, hashing, and format conversion.*@paramd*@return*/publicstaticdoubleformatDouble2(doubled) {//旧方法,已经不再推荐使用//BigDecimal bg = new BigDecimal(d).setScale(2, BigDecimal.ROUND_HALF_UP);//新方法,如果不需要四舍五入,可以使用RoundingMode.DOWN
BigDecimal bg =newBigDecimal(d).setScale(2
, RoundingMode.UP);returnbg.doubleValue();}/**
* NumberFormat is the abstract base class for all number formats.
* This class provides the interface for formatting and parsing numbers.*@paramd*@return*/publicstaticString formatDouble3(doubled) {NumberFormat nf=NumberFormat.getNumberInstance();//保留两位小数
nf.setMaximumFractionDigits(2);//如果不需要四舍五入,可以使用RoundingMode.DOWN
nf.setRoundingMode(RoundingMode.UP);returnnf.format(d);}/**
* 这个方法挺简单的。
* DecimalFormat is a concrete subclass of NumberFormat that formats decimal numbers.*@paramd*@return*/publicstaticString formatDouble4(doubled) {DecimalFormat df=newDecimalFormat("#.00");returndf.format(d);}/**
* 如果只是用于程序中的格式化数值然后输出,那么这个方法还是挺方便的。

java四舍五入 保留两位小数

小数计算java常会出现精度失真的问题,用 java.math.BigDecimal类可以解决
因为double型小数部分会在从二进制变十进制的类型变换中产生误差,所以x2会变成-3.80000000000003,如果要使输出四舍五入 保留两位小数,可以用String的format函数,方法如下:
System.out.println(String.format("%.2f", x1));
System.out.println(String.format("%.2f", x2));

网站数据信息

"bigdecimal四舍五入保留两位小数,如何将一个double类型的数四舍五入保留两位小数"浏览人数已经达到18次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:bigdecimal四舍五入保留两位小数,如何将一个double类型的数四舍五入保留两位小数的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!