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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎么让两个数相除的商保留25位小数相关的知识,希望对你有一定的参考价值。

不使用math包中的方法

两个数相除的商是9.938,如果保留两位小数应该是9.94,精确到十分位是9.9,保留整数是10;
故答案为:9.94,9.9,10.
参考技术A 两步操作: 3/4 没有指定浮点数,结果为整型0.
然后再类型转化成了double,如果不指定小数位数会自动给带一位小数。
参考技术B 我不回答问题,我只是想问25位小数的意义;
还有double的精度有25位吗?

java 两个数相除后四舍五入并保留两位小数

已经找到答案如12375除以1000:
int a=12375; double b=Math.round(aa/10d)/100d;
如果想保留一位小数并四舍五入:double b=Math.round(aa/100d)/10d;


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

1  方法点拨求近似数时:保留整数,表示精确到个位;保留一位小数,表示精确到十分位;保留两位小数,表示精确到百分位……
2、保留一位小数
如果保留一位小数,就要把第二、三位小数省略。
在表示近似数时,小数末尾的0不能去掉。 

3、保留整数部分:
 ≈1

参考技术A // 方式一:
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

以上是关于java怎么让两个数相除的商保留25位小数的主要内容,如果未能解决你的问题,请参考以下文章

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

java 两个数相除后四舍五入并保留两位小数

sql查询用到两个字段相除,如何让他保留小数两位

为啥c++cout语句整数相除保留了五位小数?

Python练习题?

两个int数据相除怎么得到double型数据