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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android中如何实现除法的保留小数点后2位,四舍五入!相关的知识,希望对你有一定的参考价值。

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之后引入的,目的就是为了获得更精确的小数位,以便于计算。
参考技术A 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();
追问

能不能给一个最简单的Java例子!麻烦你了!

追答

拜托了,android的例子,在android安装目录有不少,有简单、有容易的,用上这段就可以了。

本回答被提问者采纳
参考技术B DecimalFormat df=new DecimalFormat("#.00");

java 保留两位小数点

以下是我写的acm1048,但编译出来的结果是保留四位小数的,题目要求保留两位小数,请高手帮我改改~谢谢!
import java.io.*;
class Main

public static void main(String[] args)

int i=1,m;
float n=0;
float b=0F;
float a=0F;
for (i=1;i<13 ;i++ )

try


BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

n= Float.parseFloat(br.readLine());


catch (IOException ex)
b=b+n;


a=b/12;
new java.text.DecimalFormat("#.00").format(a);

System.out.println("$"+a);

参考技术A var f : float;
str : string;
begin
f := 1.123;
str := FormatFloat('0.00', f);
end;

str的结果是1.12
参考技术B float f = 1.234567f;
System.out.printf("%.2f\n", f);
参考技术C public double tofloat(double value)
String retValue = null;
DecimalFormat df = new DecimalFormat();

df.setMinimumFractionDigits(2);
df.setMaximumFractionDigits(2);

retValue = df.format(value);
retValue = retValue.replaceAll(",", "");

return Double.parseDouble(retValue);
参考技术D 字符串截取···

以上是关于android中如何实现除法的保留小数点后2位,四舍五入!的主要内容,如果未能解决你的问题,请参考以下文章

java 保留两位小数点

%f输出的小数,小数点后保留多少位?

怎样在c语言除法中保留小数点?

C语言中如何保留一位小数点?

delphi保留2位小数?如何实现。

数据库select语句中进行除法如何保留小数点后数据