barriers / 阅读 / 详情

java中BigDecimal 的加减乘除和“+”“-”“*”“/”有什么区别

2023-07-22 13:11:56
共2条回复
马老四

  1. 你首先要理解java中有数据运算时候有精度丢失问题。

    比如 1 - 0.9这个计算的结果不是你想的0.1,而是0.09999999999999998。

  2. BigDecimal就是解决这个问题的。

小教板

直接在java类中进行运算,可以明显看出,直接运算会产生精度丢失!!!

bigdecimal

相关推荐

BigDecimal 怎么比较大小

当然是使用compareTo:new BigDecimal(1).compareTo(new BigDecimal("1.0"))但是,注意:compareTo 其实也有坑。如果试用:new BigDecimal(1) 与new BigDecimal("1.00"),结果是true. 但是换成 new BigDecimal(1.2).compareTo(new BigDecimal("1.20")),结果就是false.这时问题又来了。所以保险的办法是把小数位去掉再比较。比如*100。都升到个位数。或者统一使用setScale定好小数位。我之前就不知这个坑,搞了好久。
2023-07-22 12:51:314

BigDecimal和Int类型的转换,以及BigDecimal的常用运算

Int类型转换为bigdecimal类型:先将int转为String,再通过BigDecimal的构造方法去创建 BigDecimal price = new BigDecimal(String str); Bigdecimal类型相加 BigDecimal newDeposit=price.add(oldDecimal); 扩充 add(BigDecimal)BigDecimal对象中的值相加,然后返回这个对象。 subtract(BigDecimal)BigDecimal对象中的值相减,然后返回这个对象。 multiply(BigDecimal)BigDecimal对象中的值相乘,然后返回这个对象。 divide(BigDecimal)BigDecimal对象中的值相除,然后返回这个对象。 toString()将BigDecimal对象的数值转换成字符串。 doubleValue()将BigDecimal对象中的值以双精度数返回。 floatValue()将BigDecimal对象中的值以单精度数返回。 longValue()将BigDecimal对象中的值以长整数返回。 intValue()将BigDecimal对象中的值以整数返回。
2023-07-22 12:52:171

bigdecimal 判断是否有小数位

BigDecimal b = new BigDecimal("1.1"); if(new BigDecimal(b.intValue()).compareTo(b)==0){ System.out.println("b 是整数"); }else{ System.out.println("b 是小数"); }
2023-07-22 12:52:541

在java中,如何把BigDecimal类型转成Integer?

BigDecimal比Integer大得多,转换的话会有发生异常的可能,所以不建议这么做。1.Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。2.Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
2023-07-22 12:53:032

请问,java里,如何把BigDecimal类型转成Integer

BigDecimal有.intValue() 这个方法
2023-07-22 12:53:415

bigdecimal可以有小数吗

BigDecimal b = new BigDecimal("1.1");if(new BigDecimal(b.intValue()).compareTo(b)==0){System.out.println("b 是整数");}else{System.out.println("b 是小数");}
2023-07-22 12:54:291

bigdecimal multiply 怎么保留2位小数

BigDecimal b=new BigDecimal(0);b.multiply(new BigDecimal(0)).setScale(2,BigDecimal.ROUND_HALF_UP);保留两位小数,四舍五入
2023-07-22 12:54:391

国开Java语言程序设计形考4答案谁有?

import java.math.BigDecimal;public class Commodity{private BigDecimal beer_price = new BigDecimal("3.5");private BigDecimal noodle_price = new BigDecimal("4.5");private BigDecimal water_price = new BigDecimal("2");private BigDecimal total_price = new BigDecimal("0");public float pay(int beerNum,int noodleNum,int waterNum){payBeer(beerNum);payNoodle(noodleNum);payWater(waterNum);return total_price.floatValue();}public void payBeer(float num){BigDecimal bigDecimal;if (num > 2){bigDecimal = new BigDecimal(Double.toString(num)).multiply(beer_price).multiply(new BigDecimal("0.9"));}else{bigDecimal = new BigDecimal(Double.toString(num)).multiply(beer_price);}total_price = total_price.add(bigDecimal);}public void payNoodle(float num){BigDecimal bigDecimal;if (num > 2){bigDecimal = new BigDecimal(Double.toString(num)).multiply(noodle_price).multiply(new BigDecimal("0.9"));}else{bigDecimal = new BigDecimal(Double.toString(num)).multiply(noodle_price);}if (bigDecimal.floatValue() >= 20){bigDecimal.subtract(new BigDecimal("2"));}total_price = total_price.add(bigDecimal);}public void payWater(float num){BigDecimal bigDecimal;if (num > 2){bigDecimal = new BigDecimal(Double.toString(num)).multiply(water_price).multiply(new BigDecimal("0.9"));}else{bigDecimal = new BigDecimal(Double.toString(num)).multiply(water_price);}total_price = total_price.add(bigDecimal);}}=================================================public class Test{public static void main(String[] args){Commodity xiaomei = new Commodity();System.out.println("小美消费:" + xiaomei.pay(3,3,2));Commodity xiaoming = new Commodity();System.out.println("小明消费:" + xiaoming.pay(2,5,0));}}
2023-07-22 12:54:521

在java中如何将bigdecimal类型转成String类型?

public String toString():返回此 BigDecimal 的字符串表示形式,如果需要指数,则使用科学记数法。可以看一下Java帮助文档。希望对你有所帮助。 import java.math.BigDecimal;public class BigDecimalToString { public static void main(String[] args){ BigDecimal b1 = new BigDecimal("123.456777753413321231"); String result = b1.toString(); System.out.println("result = "+result); }}
2023-07-22 12:55:052

java中 BigDecimal类型的可以转换到double类型吗?如何转换

用doubleValue()函数!
2023-07-22 12:55:152

如何判断 bigdecimal 数值是否为非空?

String name=rs.getString("name"); java中的String对应sql中的varchar BigDecimal decimal=new BigDecimal(rs.getInt("num"));不为零。Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。扩展资料:BigDecimal一共有4个构造方法:BigDecimal(int) 创建一个具有参数所指定整数值的对象。BigDecimal(double) 创建一个具有参数所指定双精度值的对象。BigDecimal(long) 创建一个具有参数所指定长整数值的对象。BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。参考资料来源:百度百科-BigDecimal
2023-07-22 12:55:323

BigDecimal怎么比大小?

BigDecimal比大小,需要声明两个BigDecimal类型变量b1和b2,调用equals()方法比较大小。BigDecimal a = new BigDecimal("1.00");BigDecmial b = new BigDecimal(1);想比较一下a和b的大小,一般都会用equals。BigDecimal其他情况简介。使用BigDecimal类构造方法传入double类型时,计算的结果也是不精确的。因为不是所有的浮点数都能够被精确的表示成一个double 类型值,有些浮点数值不能够被精确的表示成 double 类型值,因此它会被表示成与它最接近的 double 类型的值。必须改用传入String的构造方法。这一点在BigDecimal类的构造方法注释中有说明。BigDecimal向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。如果舍弃部分左边的数字为奇数,则舍入行为与 ROUND_HALF_UP 相同。
2023-07-22 12:55:561

java 等额本息还款。这个应该怎么算?

import java.math.BigDecimal; /** * 银行还款计算 * @author cuiran * @version TODO */ public class BankRefund { /** * * 等额本金还款法【利息少,但前期还的多】 * @param totalMoeny 贷款总额 * @param rate 贷款商业利率 * @param year 贷款年限 */ public static void principal(int totalMoney,double rate,int year){ /** * 每月本金 */ int totalMonth=year*12; double monthPri=totalMoney/totalMonth; /** * 获取月利率 */ double monRate=resMonthRate(rate); BigDecimal b = new BigDecimal(monRate); monRate = b.setScale(6, BigDecimal.ROUND_HALF_UP).doubleValue(); for(int i=1;i<=totalMonth;i++){ double monthRes=monthPri+(totalMoney-monthPri*(i-1))*monRate; BigDecimal b1 = new BigDecimal(monthRes); monthRes = b1.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println("第"+i+"月,还款为:"+monthRes); } } /** * * 等额本息还款【利息多】 * @param totalMoeny 贷款总额 * @param rate 贷款商业利率 * @param year 贷款年限 */ public static void interest(int totalMoney,double rate,int year){ /** * 获取月利率 */ double monRate=resMonthRate(rate); /** * 月还款本息 */ double monInterest=totalMoney*monRate*Math.pow((1+monRate),year*12)/(Math.pow((1+monRate),year*12)-1); BigDecimal b = new BigDecimal(monInterest); monInterest = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println("月供本息和:"+monInterest); } /** * * 转换为月利率 * @param rate * @return */ public static double resMonthRate(double rate){ return rate/12; } /** * TODO * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int totalMoney=430000; double rate=0.0655; int year=20; // BankRefund.interest(totalMoney, rate, year); BankRefund.principal(totalMoney, rate, year); } }
2023-07-22 12:56:221

如何将bigdecimal转换为int

BigDecimal a=new BigDecimal(12.88);int b=a.intValue();System.out.println(b);//b=12;
2023-07-22 12:56:401

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

我写的C语言的算法,应该你可以转换下吧?呵呵!就是通过整形数据的特点了;例如该变量为float x;浮点型数据四舍五入的算法为:{int i=0; 整型数据; i=(2*x*100+1)/2; x=(float)i/100;}当保留小数点后两位是用100;3为是1000,1位是当然是10了;明白?唉!没学过,看着有点困难。
2023-07-22 12:56:493

java如何存储巨大的数字比如100!

java中有存储大数值的类
2023-07-22 12:57:004

若有定义语句int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值为多少

(x+y) = 7.2(int)(x+y) = 7a%3*(int)(x+y) = 1a%3*(int)(x+y)%2/4 = 1%2/4 = 0/4 = 0(所有变量均是Int型)x+0 = 2.5
2023-07-22 12:57:194

怎么用Java程序计算20的阶乘?

public class Test{ public static void main(String[] args) { BigDecimal cnt = new BigDecimal(0); for (int i = 1; i <= 20; i++) { cnt = cnt.add(jiecheng(i)); } System.out.println(cnt); } public static BigDecimal jiecheng (int n) { if (n == 1) { return new BigDecimal(1); } //multiply()相乘 return jiecheng(n - 1).multiply(new BigDecimal(n)); }} 数值太大,只能用BigDecimal类型来表示
2023-07-22 12:57:493

decimal转换

转换为String 直接截取,再转换为double啊!或者自定义格式!
2023-07-22 12:57:573

Java编写程序计算打折后金额

public static void main(String[] args) {double amount = 1200;// 消费金额 boolean isTeacherOrOld = true; // 是否有教师资格证或者老人标识BigDecimal discountEightFive = new BigDecimal("0.85");// 85折BigDecimal discountNine = new BigDecimal("0.9");// 95折BigDecimal discountNineFive = new BigDecimal("0.95");// 95折BigDecimal bdAmount = new BigDecimal(Double.toString(amount));BigDecimal calcAmount = new BigDecimal("0.00");if (amount >= 2000) {calcAmount = bdAmount.multiply(discountEightFive);} else if (amount > 1000 && amount < 2000) {calcAmount = bdAmount.multiply(discountNine);} else {calcAmount = new BigDecimal(Double.toString(amount));}if (isTeacherOrOld && amount >= 1000) {System.out.println("消费金额:" + calcAmount.multiply(discountNineFive).toString());} else {System.out.println("消费金额:" + calcAmount.toString());}}
2023-07-22 12:58:361

如何正确显示 BigDecimal 作为一个字符串

integer、int ---> int tinyint、smallint ---> short bigint ---> long decimal、numeric ---> java.math.BigDecimal float ---> float double ---> double char、varchar ---> String boolean、bit ---> boolean date ---> java.sql.Date time ---> java.sql.Time timestamp ---> java.sql.Timestamp blob ---> java.sql.Blob clob ---> java.sql.Clob array ---> java.sql.Array
2023-07-22 12:58:431

java中BigDecimal与Float,Double的区别

Float,Double分别是对float和double的封装表示的精度和他们是一样的。但里面有很多有用的方法。。比如Double.praseDouble()等等。。BigDecimal也是对数字类型数据的封装。。但他的精度是任意精度。。即随便多长随便小数点后多少位。。
2023-07-22 12:59:031

怎样将BigDecimal转换成Int

BigDecimal a=new BigDecimal(12.88);int b=a.intValue();System.out.println(b);//b=12;
2023-07-22 12:59:111

如何将一个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 显示的数字位数 为格式化对象设定小数点后的显示的最多位,显示的最后位是舍入的
2023-07-22 12:59:201

怎么将null转换为BigDecimal类型

您好,希望以下回答能帮助您有方法 java.math.BigDecimal.doubleValue() BigDecimal a = new BigDecimal(1000); return a.doubleValue();如您还有疑问可继续追问。
2023-07-22 12:59:291

用Java中相关的api实现:算出你出生多少天了?

import java.math.BigDecimal;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class CalcYourBirthDays {static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");public static void main(String[] args) {String birthday = "1992-07-10"; //出生年月日try {calcTotalDays(birthday);} catch (Exception e) {System.out.println(e);}}public static int calcTotalDays(String birthday) throws Exception{Date now = new Date();long nowTime = now.getTime();BigDecimal totalDays = BigDecimal.ZERO;try {Date birth = sdf.parse(birthday);long birTime = birth.getTime();long diff = nowTime-birTime;BigDecimal difdec = new BigDecimal(diff);BigDecimal dayNum = new BigDecimal(24*3600*1000);totalDays = difdec.divide(dayNum, BigDecimal.ROUND_HALF_UP);System.out.println("您已出生:"+totalDays+"天");System.out.println("您今年"+totalDays.divide(new BigDecimal(365), BigDecimal.ROUND_HALF_UP)+"岁");} catch (ParseException e) {throw new Exception("-------------格式转换异常:"+e);}return 0;}}
2023-07-22 12:59:381

BigDecimal他是什么数据类型?

BigDecimal一共有4个构造方法BigDecimal(int) 创建一个具有参数所指定整数值的对象。BigDecimal(double) 创建一个具有参数所指定双精度值的对象。BigDecimal(long) 创建一个具有参数所指定长整数值的对象。BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。BigDecimal 的运算方式 不支持 + - * / 这类的运算 它有自己的运算方法BigDecimal add(BigDecimal augend) 加法运算BigDecimal subtract(BigDecimal subtrahend) 减法运算BigDecimal multiply(BigDecimal multiplicand) 乘法运算BigDecimal divide(BigDecimal divisor) 除法运算
2023-07-22 12:59:592

new bigdecimal的乘法方法是哪个

BigDecimal的除法,需要指定计算答案的精度,你那样肯定会报异常。虽然你知道答案为2.5,但计算机不知道你的精度为多少,会抛异常的。我给你写一段,MathContext mc = new MathContext(2, RoundingMode.HALF_DOWN);//精度为2,舍入模式为大于0.5进1,否则舍弃。 BigDecimal a = new BigDecimal(0.5);BigDecimal b = new BigDecimal(0.2);System.out.println(a.divide(b,mc));
2023-07-22 13:00:061

Jquery中怎样使用BigDecimal方法

解决办法:if(a.compareTo(b)==0) 结果是truepublic int compareTo(BigDecimal val)Compares this BigDecimal with the specified BigDecimal.Two BigDecimal objects that are equal in value but have a differentscale (like 2.0 and 2.00) are considered equal by this method.This method is provided in preference to individual methods for each ofthe six boolean comparison operators (<, ==, >, >=, !=, <=).
2023-07-22 13:00:151

关于Java 小数(浮点型)相加

BigDecimal num1 = new BigDecimal("3.14");BigDecimal num2 = new BigDecimal("0.37");System.out.println(b1.add(b2));
2023-07-22 13:00:251

BigDecimal对象的值如何修改?

static BigDecimal valueOf(double val) static BigDecimal valueOf(long val) static BigDecimal valueOf(long unscaledVal, int scale)Double.parseDouble(String)
2023-07-22 13:00:442

java中BigDecimal与Float,Double的区别

精度不同,Float,Double是float,double的封装类BigDecimal主要用于计算金额
2023-07-22 13:00:522

java String转bigdecimal 精确两位小数点

String s="125.671";BigDecimal b = new BigDecimal(s); b=b.setScale(2, BigDecimal.ROUND_DOWN); //小数位 直接舍去//b=b.setScale(2, BigDecimal.ROUND_HALF_UP); //四舍五入//BigDecimal add(BigDecimal augend) //BigDecimal subtract(BigDecimal subtrahend)//BigDecimal multiply(BigDecimal multiplicand) //BigDecimal divide(BigDecimal divisor)BigDecimal c = b.add(nwe BigDecimat("763.21"));
2023-07-22 13:01:001

怎样去掉 java BigDecimal 类对象后面没用的零?

NumberFormat nf = NumberFormat.getInstance(); nf.format(3.300);
2023-07-22 13:01:072

java中bigdecimal怎么序列化

实现bigdecimal类型转成String类型: BigDecimal bd = new BigDecimal("xxx"); String str = bd.toString(); 扩展:String类型转成bigdecimal类型 String str = "xxx"; BigDecimal bd = new BigDecimal(str);
2023-07-22 13:01:171

bigdecimal长度包含小数位吗

是包含的,但有时候会对精度精确不准确。因为我们的计算机是二进制的。浮点数没有办法是用二进制进行精确表示。我们的CPU表示浮点数由两个部分组成:指数和尾数,这样的表示方法一般都会失去一定的精确度,有些浮点数运算也会产生一定的误差。如:0.5的二进制表示并非就是精确的0.5。反而最为接近的二进制表示是 0.049999999999999996。这种情况下我们可以用java.math包下面的BigDecimal类,BigDecimal主要用于高精度的数据计算,例如计算金额的时候,还有工程测量计算的时候。BigDecimal的提供了add(),subtract(),multiply()和divide()四种方法,分别为加减乘除。
2023-07-22 13:01:241

java中 BigDecimal类型的可以转换成double型吗?如何转换

可以,例如:BigDecimal a = new BigDecimal(1000.00);double b=a.doubleValue();
2023-07-22 13:01:311

java 查询的结果为 0e-8 和 0E-12,这是什么意思

1、e.一般习惯用来做异常信息的输出处理 2、比如在try ... catch块中,进行异常信息Exception e的对象e错误信息打印,如下: try { // 程序处理} catch(Exception e) { e.printStackTrace();}
2023-07-22 13:01:414

eclipse 中出现警告 :The method divide(BigDecimal, int, int) from the type BigDecimal is deprecat

这个警告是说:这个方法(divide)已经过期了,不建议使用。过期的意思就是说,你现在还能用,用了结果也正确,但是说不定什么时候开始,新版本就没有这个方法了。给出警告的原因是,因为在将来某个时间有不再提供该方法的可能,会给你的代码带来兼容性问题(在新版本上不能正确运行,或者根本不能运行)。解决的办法:一般对于过期方法,作者会在注释中写明:use xxxx instead字样,告诉你改用哪个新方法,这是最佳的办法如果你一定要使用,就会面对黄色浪线的问题,如果是重度强迫症,可以加上@SuppressWarnings("deprecation"),这样编译器不会对过期发出警告。
2023-07-22 13:02:181

BigDecimal 型变量该怎么赋值

如:item.setWeight(BigDecimal.valueOf(125.00))
2023-07-22 13:02:283

Java中,当的数据过大时,如何避免值的改变?

用double型
2023-07-22 13:02:494

java的bigdecimal类的用法

Java的BigDecimal类是java.math 包里的一个类,它提供了一些用于执行高精度浮点数计算的方法。由于它可以保持任意精度,所以它可以用于货币计算及其他需要精确结果的场合。下面是一些BigDecimal类的常用方法:add():该方法用于将两个BigDecimal对象相加,返回一个新的BigDecimal对象;subtract()
2023-07-22 13:02:561

为什么java中BigDecimal.setScale方法小数位数超过5就不起作用了?

因为BigDecimal的原因吧,也可以说是double的问题吧new BigDecimal(currentLat2); 时值不再是 2.455675而是2.455674999999999999999999因此在保留5位小数,四舍五入时,就变成2.45567而不是2.45568后一个正确是因为没形成这种数据。这种情况,用字符串可以避免这种问题String currentLat2 = "2.455675"; BigDecimal b = new BigDecimal(currentLat2); System.out.println(b.setScale(5, BigDecimal.ROUND_HALF_UP).doubleValue());
2023-07-22 13:03:181

关于BigDecimal的divide()方法。。。求解。。。。。。。。。。。。。。。。。

BigDecimal bigDecimal1 = new BigDecimal(100.0);BigDecimal bigDecimal2 = new BigDecimal(33.0);BigDecimal b = bigDecimal1.divide(bigDecimal2,0,BigDecimal.ROUND_DOWN);取整数
2023-07-22 13:03:285

bigdecimal的长度限制

长度一共能存10位数字。小数由定义的去存储,字段最大99999999.99,(定义的小数会累加在长度内)。varchar类型可以存储多少个汉字,多少个数字。4.0版本以下,比如varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节)。5.0版本以上,比如varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个。
2023-07-22 13:03:581

#java#Map取值的时候bigdecimal类型的怎么转换为String类型的

是long型的,((Long)cmp.get("id")).tostring(); 大概这样,没验证
2023-07-22 13:04:063

Java中,如何对大数开根号啊!

class A{ public static void main(){ double m=4.0; double n=Math.sqrt(m); System.out.println(n); }}其实就是调用Math下面的sqrt方法
2023-07-22 13:04:177

求解答过程

由题给条件可知,四边形ABCD的四个顶点共圆,作出这个圆,然后过C点作CF∥BD交圆于F,连AF,可知△ACF为等腰直角三角形,CF=AC,过F作FG⊥BD交BD于G,可知GD=BE,设BE=x,则AC=5x,同时:EG=CF=5x,GD=x。∴BD=BE+EG+GD=x+5x+x=7x=14,∴x=2,即BE=2∴AC=5BE=10解题过程中有一些步骤有省略,但相信你是可以看懂,并将省略的步骤补全的。加油!么么哒!
2023-07-22 13:04:532

如何获取BigDecimal的负数

BigDecimal num=new BigDecimal("123");BigDecimal oppositeNum=num.negate();
2023-07-22 13:05:203

Excel中函数"FREQUENCY"怎么用? 有没有更详细点的方法! 看了些其他人的答案,有些糊涂了^

FREQUENCY以一列垂直数组返回某个区域中数据的频率分布。例如,使用函数 FREQUENCY 可以计算在给定的分数范围内测验分数的个数。由于函数 FREQUENCY 返回一个数组,所以必须以数组公式的形式输入。语法FREQUENCY(data_array,bins_array)Data_array 为一数组或对一组数值的引用,用来计算频率。如果 data_array 中不包含任何数值,函数 FREQUENCY 返回零数组。Bins_array 为间隔的数组或对间隔的引用,该间隔用于对 data_array 中的数值进行分组。如果 bins_array 中不包含任何数值,函数 FREQUENCY 返回 data_array 中元素的个数。说明在选定相邻单元格区域(该区域用于显示返回的分布结果)后,函数 FREQUENCY 应以数组公式的形式输入。 返回的数组中的元素个数比 bins_array(数组)中的元素个数多 1。返回的数组中所多出来的元素表示超出最高间隔的数值个数。例如,如果要计算输入到三个单元格中的三个数值区间(间隔),请一定在四个单元格中输入 FREQUENCY 函数计算的结果。多出来的单元格将返回 data_array 中大于第三个间隔值的数值个数。 函数 FREQUENCY 将忽略空白单元格和文本。 对于返回结果为数组的公式,必须以数组公式的形式输入。 示例本示例假设所有测验分数都为整数。如果您将示例复制到空白工作表中,可能会更易于理解该示例。操作方法创建空白工作簿或工作表。 请在“帮助”主题中选取示例。不要选取行或列标题。 从帮助中选取示例。按 Ctrl+C。 在工作表中,选中单元格 A1,再按 Ctrl+V。 若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“工具”菜单上,指向“公式审核”,再单击“公式审核模式”。 A B 分数 分段点 79 70 85 79 78 89 85 50 81 95 88 97 公式 说明(结果) =FREQUENCY(A2:A10,B2:B5) 分数小于等于 70 的个数 (1) 成绩介于 71-79 之间的个数 (2) 成绩介于 80-89 之间的个数 (4) 成绩大于等于 90 的个数 (2) 注释 示例中的公式必须以数组公式的形式输入。将示例复制到空白工作表之后,请选中从公式单元格开始的单元格区域 A13:A16。按 F2,再按 Ctrl+Shift+Enter。如果公式未以数组公式的形式输入,则返回的结果为 1。
2023-07-22 12:59:482