导航:首页 > 编程语言 > java相除保留小数

java相除保留小数

发布时间:2022-09-13 01:55:25

java两个数相除后保留两位小数 (四舍五入),并且结果大于三位数要有千位分隔符,不是整数时,小数点前三

public static void main(String[] args) {
System.out.println(test(2, 0.7)); //参数为int和double 结果=2.86
System.out.println(test(11111111111113L, 4.5)); // 参数为long和double 结果=2,469,135,802,469.56
System.out.println(test("234567", "3.14159")); // 参数为字符串 结果=74,665.06
}

private static String test(Object a, Object b) { // 参数类型任意(只要是number),返回总是字符串
// 下面这一行里的2,表示保留小数点后多少位(四舍五入),如果两位就是2,如果小数点前三,就改成3.
BigDecimal result = new BigDecimal(String.valueOf(a)).divide(new BigDecimal(String.valueOf(b)), 2, BigDecimal.ROUND_HALF_UP);
return new DecimalFormat("###,###.###").format(Double.valueOf(result.toString())).toString();
}

Ⅱ java怎么让两个数相除的商保留25位小数

两个数相除的商是9.938,如果保留两位小数应该是9.94,精确到十分位是9.9,保留整数是10;
故答案为:9.94,9.9,10.

Ⅲ java的int相除如何保留小数点两位,例如2/3后获得0.67

先将int转换为浮点数

Ⅳ java 实现两个数相除并保留小数点后一百位,再求出循环体

double a = 4.0 ;
double b = 3.0 ;
int num = 100 ; // 保留多少位小数
double c = new BigDecimal("" + a/b).setScale(num, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(c); System.out.println(c);
在求出循环体是什么意思?

Ⅳ java 除法怎样取小数部分

(((double)lili1)/lili)
-
(lili1/lili)就可以了,如果想显示出小数,必须要将数值转换为float或double类型才可以,推荐double类型

Ⅵ java 两个整数相除 结果为一位小数

double ans = 3/4;

因为ans的类型为double

其实你这个式子就和
double ans=0是等价的,虽然是给的整数,但在储存的时候,已经做了隐式类型转换为double了,输出时会按类型格式输出,double当然要保留小数位,另外,他的小数不是四舍五入得来的,而是空位补0。
3/4明显大于0.5,四舍五入的话应该为1才对

Ⅶ java怎么保留两位小数

java自带api是没有保留两位小数的,需要自己去封装定义

Ⅷ 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为就在前面补0

Ⅸ java 如何保留数据后两位小数

保留两位小数,也就是保留到百分位,要看千分位上的数,如果千分位上的数大于等于5,就向百分位上进一位,如果千分位上的数小于5,就舍去。

Ⅹ Java中怎么把除法精确到小数点后100位

JAVA中如何对double或者float的浮点数进行精度计算,
在JAVA中提供了多种参数来实现精度的不同控制方式。
具体例子如下:
package com.soft4j.utility;

import java.math.BigDecimal;

/**
* 与小数位精度(四舍五入等)相关的一些常用工具方法.
*
* float/double的精度取值方式分为以下几种: <br>
* java.math.BigDecimal.ROUND_UP <br>
* java.math.BigDecimal.ROUND_DOWN <br>
* java.math.BigDecimal.ROUND_CEILING <br>
* java.math.BigDecimal.ROUND_FLOOR <br>
* java.math.BigDecimal.ROUND_HALF_UP<br>
* java.math.BigDecimal.ROUND_HALF_DOWN <br>
* java.math.BigDecimal.ROUND_HALF_EVEN <br>
*
* @author stephen
* @version 1.0.0
*/
public final class RoundTool {

/**
* 对double数据进行取精度.
* <p>
* For example: <br>
* double value = 100.345678; <br>
* double ret = round(value,4,BigDecimal.ROUND_HALF_UP); <br>
* ret为100.3457 <br>
*
* @param value
* double数据.
* @param scale
* 精度位数(保留的小数位数).
* @param roundingMode
* 精度取值方式.
* @return 精度计算后的数据.
*/
public static double round(double value, int scale, int roundingMode) {
BigDecimal bd = new BigDecimal(value);
bd = bd.setScale(scale, roundingMode);
double d = bd.doubleValue();
bd = null;
return d;
}

/**
* 测试用的main方法.
*
* @param argc
* 运行参数.
*/
public static void main(String[] argc) {
//下面都以保留2位小数为例

//ROUND_UP
//只要第2位后面存在大于0的小数,则第2位就+1
System.out.println(round(12.3401,2,BigDecimal.ROUND_UP));//12.35
System.out.println(round(-12.3401,2,BigDecimal.ROUND_UP));//-12.35
//ROUND_DOWN
//与ROUND_UP相反
//直接舍弃第2位后面的所有小数
System.out.println(round(12.349,2,BigDecimal.ROUND_DOWN));//12.34
System.out.println(round(-12.349,2,BigDecimal.ROUND_DOWN));//-12.34
//ROUND_CEILING
//如果数字>0 则和ROUND_UP作用一样
//如果数字<0 则和ROUND_DOWN作用一样
System.out.println(round(12.3401,2,BigDecimal.ROUND_CEILING));//12.35
System.out.println(round(-12.349,2,BigDecimal.ROUND_CEILING));//-12.34
//ROUND_FLOOR
//如果数字>0 则和ROUND_DOWN作用一样
//如果数字<0 则和ROUND_UP作用一样
System.out.println(round(12.349,2,BigDecimal.ROUND_FLOOR));//12.34
System.out.println(round(-12.3401,2,BigDecimal.ROUND_FLOOR));//-12.35
//ROUND_HALF_UP [这种方法最常用]
//如果第3位数字>=5,则第2位数字+1
//备注:只看第3位数字的值,不会考虑第3位之后的小数的
System.out.println(round(12.345,2,BigDecimal.ROUND_HALF_UP));//12.35
System.out.println(round(12.3449,2,BigDecimal.ROUND_HALF_UP));//12.34
System.out.println(round(-12.345,2,BigDecimal.ROUND_HALF_UP));//-12.35
System.out.println(round(-12.3449,2,BigDecimal.ROUND_HALF_UP));//-12.34
//ROUND_HALF_DOWN
//如果第3位数字>=5,则做ROUND_UP
//如果第3位数字<5,则做ROUND_DOWN
System.out.println(round(12.345,2,BigDecimal.ROUND_HALF_DOWN));//12.35
System.out.println(round(12.3449,2,BigDecimal.ROUND_HALF_DOWN));//12.34
System.out.println(round(-12.345,2,BigDecimal.ROUND_HALF_DOWN));//-12.35
System.out.println(round(-12.3449,2,BigDecimal.ROUND_HALF_DOWN));//-12.34
//ROUND_HALF_EVEN
//如果第3位是偶数,则做ROUND_HALF_DOWN
//如果第3位是奇数,则做ROUND_HALF_UP
System.out.println(round(12.346,2,BigDecimal.ROUND_HALF_EVEN));//12.35
System.out.println(round(12.345,2,BigDecimal.ROUND_HALF_EVEN));//12.35
}
}
相关文章:

《Double精度的常用设置》
http://henry406.javaeye.com/blog/459669

import java.text.DecimalFormat;
import java.math.BigDecimal;
public class Test_Double{
public static void main(String[] args){
//-----方法1--------四舍五入 round对负数是五舍六入
double d_1 = 123.9;
System.out.println("d_1 = "+Math.round(d_1));
//-------方法2------------------
DecimalFormat decfmt = new DecimalFormat("##0.00");
System.out.println(decfmt.format(1.33482222));
//--------方法3--------------
double x = 1.33345;
java.text.NumberFormat formate = java.text.NumberFormat.getNumberInstance();
formate.setMaximumFractionDigits(3);//设定小数最大为数,那么显示的最后会四舍五入的
String m = formate.format(x);
System.out.println(m);
//--------方法4--------------
BigDecimal bd = new BigDecimal(1.234543);
bd = bd.setScale(3,BigDecimal.ROUND_HALF_EVEN);
double d = bd.doubleValue();
System.out.println(d);
//--------取消科学计数法-------------
Double dValue = Double.valueOf("276363652844.8477474");
System.out.println(dValue);
BigDecimal original = new BigDecimal(dValue.doubleValue());
BigDecimal result = original.setScale(2, BigDecimal.ROUND_HALF_DOWN);
String test = result.toString();
System.out.println(test);
}
}

阅读全文

与java相除保留小数相关的资料

热点内容
编译器原理与实现书 浏览:708
dos选择命令 浏览:16
apm固件编译到单片机 浏览:120
联通深蓝卡都包含什么app 浏览:263
如何判断网络服务器正常 浏览:649
路由器搭桥远端服务器地址是什么 浏览:515
编译动态库时会连接依赖库吗 浏览:707
淘宝手机加密是随机的吗 浏览:672
解压包子怎么装饰 浏览:585
四个数凑24算法 浏览:676
哪一种不是vi编译器的模式 浏览:169
xp在此处打开命令窗口 浏览:128
代码编译运行用什么软件 浏览:999
动态库在程序编译时会被连接到 浏览:761
python超简单编程 浏览:260
获取命令方 浏览:977
怎样制作文件夹和图片 浏览:60
调研编译写信息 浏览:861
python冯诺依曼 浏览:419
同时安装多个app有什么影响 浏览:254