使用java求高精度除法,要求保留N位小数

题目要求是高精度除法,要求保留N位小数(四舍五入),并且当整数部分为0时去除0的显示

 1 import java.math.BigDecimal;
 2 import java.util.Scanner;
 3
 4 public class BD
 5 {
 6     public static void main(String[] args)
 7     {
 8         Scanner scanner = new Scanner(System.in);
 9         while(scanner.hasNext())
10         {
11             BigDecimal a = scanner.nextBigDecimal();
12             BigDecimal b = scanner.nextBigDecimal();
13             int n = scanner.nextInt();
14             System.out.println(a.divide(b, n, BigDecimal.ROUND_HALF_UP).toString().replaceFirst("^0*", ""));
15         }
16     }
17 }
时间: 2024-10-11 07:01:16

使用java求高精度除法,要求保留N位小数的相关文章

Java两整数相除保留两位小数

在Java中 两个整数相除 会做取整运算,此时如果希望得到运算结果为浮点数 则必须将两整数其一或两者都强制转为为浮点数 例如: int a = 9; int b = 2; System.out.println((float)a/b); System.out.println(a/(float)b); System.out.println((float)a/(float)b); 保留两位小数 DecimalFormat df = new DecimalFormat("0.00"); Str

java,中双精度double控制保留两位小数,js控制两位小数

Java DecimalFormat dcmFmt = new DecimalFormat("0.00"); double db = 12333.353; System.out.println(dcmFmt.format(db)); JS <script type="text/javascript"> //保留两位小数 //功能:将浮点数四舍五入,取小数点后2位 function toDecimal(x) { var f = parseFloat(x);

java基础入门-float四舍五入保留两位小数注意的地方

float四舍五入保留两位小数注意的地方 最近在codewars做了一道非常简单的题目,但是它却花了我20来分钟,虽然最后解决了,但是中间发觉对于java的基础实在不行,回去要好好补一下 不说这么多,上题目:就是写一个方法,把英里每加仑换算成公里每升,保留两位数 一开始写的时候是没有问题,问题出现在保留两位数那里,我上一个测试代码 import java.util.regex.Pattern; public class Test { /* * 判断是否为整数 * * @param str 传入的

java里的四舍五入(保留两位小数,返回double类型)

1.最简单的操作,验证之后是准确的四舍五入 double payPercent=123.345; System.out.println((double)Math.round(payPercent*100)/100); 输出结果:123.35 2.使用BigDecimal 1. ROUND_UP:远离零方向舍入.向绝对值最大的方向舍入,只要舍弃位非0即进位.(备注:就是只要第三位不是0,都往前进1.如1.121,输出会是1.13) double payPercent=123.343: BigDec

梁勇(Danniel Liang) java教材例题:java程序购买额按税率求营业税 java中数值保留2位小数的方法

package com.swift; import java.util.Scanner; public class PurchaseTaxDecimalsTwo { public static void main(String[] args) { Scanner scan=new Scanner(System.in);//扫描工作台输入 double purchaseAmount=scan.nextDouble();//输入数值赋值 购买额变量 System.out.println(purcha

java double 保留两位小数

java保留两位小数问题: 方式一: 四舍五入  double   f   =   111231.5585;  BigDecimal   b   =   new   BigDecimal(f);  double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();  保留两位小数  ---------------------------------------------------------------   方

java.math.BigDecimal保留两位小数,保留小数,精确位数

http://blog.csdn.net/yuhua3272004/article/details/3075436 使用java.math.BigDecimal工具类实现 java保留两位小数问题: 方式一(四舍五入形式保留两位小数,注意模式ROUND_HALF_UP): 四舍五入   double   f   =   111231.5585;   BigDecimal   b   =   new   BigDecimal(f);   double   f1   =   b.setScale(2

java使double保留两位小数的多方法 java保留两位小数

这篇文章主要介绍了java使double类型保留两位小数的方法,大家参考使用吧 复制代码 代码如下: mport java.text.DecimalFormat; DecimalFormat    df   = new DecimalFormat("######0.00"); double d1 = 3.23456  double d2 = 0.0;double d3 = 2.0;df.format(d1); df.format(d2); df.format(d3); 3个结果分别为:

20161127 输入两个自然数a、b,求a除以b的结果(保留两位小数)

题目: 输入两个自然数a.b,求a除以b的结果(保留两位小数). 代码: 1 program work20161127; 2 var 3 a,b,c:real; 4 BEGIN 5 readln(a,b); 6 c:=a/b; 7 writeln('c=',c:0:2); 8 END.