java中double和java float和double有什么区别,为什么我定义java float和double a=1.1会报错,...

您的位置: >
Sql的decimal、float、double类型的区别
学习标签:
本文导读:decimal(numeric)、double、float(real) 都是SQL中的浮点类型的数据类型。FLOAT数值类型用于表示单精度浮点数值,DOUBLE数值类型用于表示双精度浮点数值,而decimal用法更灵活
三者的区别介绍
float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位)
double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位)
decimal:数字型,128bit,不存在精度损失,常用于银行帐目计算。(28个有效位)
按存储的范围进行排序
float(real)
decimal(numeric)
decimal的详细介绍
decimal(a,b)
a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。
b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 a之间的值。默认小数位数是 0。
DECIMAL数据类型用于要求非常高的精确度的计算中,这些类型允许指定数值的精确度和计数方法作为选择参数。精确度在这里是指为这个值保存的有效数字的总个数,而计数方法表示小数点后数字的个数。例如,语句DECIMAL (5,2)规定了存储的值将不会超过5位数字,开且小数点后面有2位数字。
SQL 代码 &&复制
float f = <span style="font-weight: color: #5.98756f;--结果显示为345.9876,只显示7个有效位,对最后一位数四舍五入。
double d=<span style="font-weight: color: #5.442d;--结果显示为345.,只显示15个有效位,对最后一位四舍五入。
--注:float和double的相乘操作,数字溢出不会报错,会有精度的损失。
decimal dd=<span style="font-weight: color: #5......--可以支持28位,对最后一位四舍五入。
--:当对decimal类型进行操作时,数值会因溢出而报错。
数值存储范围越小的精度越高,存储数值范围越大,精度就越不准确,如果存储正常金额的情况下,使用money,好处在于可以存储不指定的小数点位数的数值,比较真实。如果对于既要求精度,又固定小数点位数的数值存储,采用decimal(numeric),优点在于可以自定义小数点位数,精度高。如特殊情况,如数值范围巨大只能用float(real)类型了,此类型一般不提倡使用。
您可能感兴趣
一月好评排行榜java中定义float f=1.2对吗_百度知道
java中定义float f=1.2对吗
不对。小数点在java中默认是double,double赋值给float需要转型。改成以下方式就是对的了。float f=(float)1.2;&#47;&#47;把默认double型强转成float或者float f=1.2f;&#47;&#47;f表示该数值是float类型
其他类似问题
为您推荐:
提问者采纳
2f:float f= 1,你这种是double类型的 正确的是不对
其他6条回答
0f&#47,后面不管是什么结果就是 0改成:c = 5;9*(f-32);这样才是完全按照 float 来算的5/9 已经是 0 了
肯定不对呀,在java中,浮点数默认的是double类型,要表少float 类型的浮点数,需要在后面加上f. 例如: float f = 1.2f;
5/9 已经是 0 了,后面不管是什么结果就是 0改成:c = 5.0f/9*(f-32);这样才是完全按照 float 来算的。
不正确。精度不准确,应该进行强制类型转换,应该是:float f=(float)1.2 或float f = 1.2。在java里面,整数默认类型是整型(int),而小数的默认类型是双精度浮点型(double);
不对,float f=1.2f;要不然1.2默认是double类型的
你试一下不就知道了 不对,加个f
float的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁java中 float k=1.0 为什么错?_百度知道
java中 float k=1.0 为什么错?
提问者采纳
所以不会自动将double类型转成float 要使用float类型只能这样,double类型的内存空间比float大:float ff = 1.0f1,Java是强类型语言.0默认是double类型
提问者评价
刚开始也没想到,内存是根本啊。。。谢谢。。。。
来自团队:
其他类似问题
为您推荐:
其他2条回答
注意: 11.0f .0默认是double类型
如果想给float类型
请这样写float k=1
你直接写1.0,系统会认为是double类型,改成float k=1.0f就好了
float的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁java中float和double的区别...
[此问题的推荐答案]
精度 不同,占的字节数也不同,
一般我喜欢用double的,举个例子,
float a=5.0;这样写会出错,因为float型变量强制后面用f结尾,也就是这样:
float a=5.0f;
double a=5.0;这样就不会有错,
不过性能方面可能会差一些,
小程序是没什么分别的.
阅读(...) 评论()

我要回帖

更多关于 java double转换float 的文章

 

随机推荐