一个int型变量与一个float型变量进行四则运算,结果是float型还是double型呢?

一个int型变量与一个float型变量进行四则运算,结果是float型还是double型呢?,第1张

是float类型

精度和高精度进行运行向高的精度自动转换,例如:

int i=1;
float j=25;
printf("%f\n",i+j);
//输出:3500000

Java中的Bigdecimal类型运算

双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。Java在javamath包中提 供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。表57中列出了BigDecimal类的主要构造器和方法。

构造器  描 述 

BigDecimal(int)创建一个具有参数所指定整数值的对象。 
BigDecimal(double)创建一个具有参数所指定双精度值的对象。 
BigDecimal(long)创建一个具有参数所指定长整数值的对象。 
BigDecimal(String)创建一个具有参数所指定以字符串表示的数值的对象。

方 法描 述 

add(BigDecimal)BigDecimal对象中的值相加,然后返回这个对象。 
subtract(BigDecimal)BigDecimal对象中的值相减,然后返回这个对象。 
multiply(BigDecimal)BigDecimal对象中的值相乘,然后返回这个对象。 
divide(BigDecimal)BigDecimal对象中的值相除,然后返回这个对象。 
toString()将BigDecimal对象的数值转换成字符串。 
doubleValue()将BigDecimal对象中的值以双精度数返回。 
floatValue()将BigDecimal对象中的值以单精度数返回。 
longValue()将BigDecimal对象中的值以长整数返回。 
intValue()将BigDecimal对象中的值以整数返回。 

注意,由于一般数值类型,例如double,不能准确地代表16位有效数以上的数字,在使用BigDecimal时,应用 BigDecimal(String)构造器创建对象才有意义。另外,BigDecimal所创建的是对象,我们不能使用传统的+、-、、/等算术运算 符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。 

eg:

两个BigDecimal  类型的数据相乘:

BigDecimal   a   =   new   BigDecimal(15124);
BigDecimal   b   =   new   BigDecimal(15124);
BigDecimal   c   =   amultiply(b);


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10556270.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存