社区
C#
帖子详情
DECIMAL转成DOUBLE
maoxiong25
2006-10-25 01:41:36
DECIMAL转成DOUBLE精度会变,
咋解决
如DECIMAL(0.58)---〉DOUBLE(0.579999999)
...全文
1092
5
打赏
收藏
DECIMAL转成DOUBLE
DECIMAL转成DOUBLE精度会变, 咋解决 如DECIMAL(0.58)---〉DOUBLE(0.579999999)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mobydick
2006-10-25
打赏
举报
回复
使用浮点数
在执行二进制运算时,如果其中一个操作数为 Double,那么另一个操作数必须是整数类型或浮点类型(Double 或 Single)。在执行运算之前,如果另一个操作数不是 Double,应将其转换为 Double,并且至少要使用 Double 的范围和精度来执行运算。如果此运算得到一个数字结果,则结果的类型为 Double。
浮点运算符(包括赋值运算符)不会引发异常。在异常情况下,浮点运算的结果为零、无穷或 NaN,如下所述:
如果浮点运算的结果对于目标格式来说太小,则运算的结果为零。
如果浮点运算结果的数值对于目标格式来说太大,则运算的结果为 PositiveInfinity 或 NegativeInfinity(具体取决于结果的符号)。
如果浮点运算无效,则运算的结果为 NaN。
如果浮点运算的一个或两个操作数为 NaN,则运算的结果为 NaN。
请记住,浮点数只能近似于十进制数字,浮点数的精度决定了浮点数近似于十进制数字的精确程度。默认情况下,Double 值的精度是 15 个十进制位,但内部维护的最大精度是 17 位。浮点数的精度有几种结果:
特定精度下看似相等的两个浮点数可能并不相等,因为它们的最小有效位数不同。
由于浮点数可能无法精确近似于十进制数,如果使用十进制数,则使用浮点数的数学或比较运算可能不会产生相同的结果。
如果涉及浮点数,值可能不往返。值的往返是指,某个运算将原始浮点数转换为另一种格式,而反向运算又将转换后的格式转换回浮点数,且最终浮点数与原始浮点数相等。由于一个或多个最低有效位可能在转换中丢失或更改,往返可能会失败。
--摘自msdn
maoxiong25
2006-10-25
打赏
举报
回复
有解决办法嘛
mobydick
2006-10-25
打赏
举报
回复
其实对于双精度浮点数来说,显示成这个样子真的是再正常不过了。
jc15271149
2006-10-25
打赏
举报
回复
1楼强
mobydick
2006-10-25
打赏
举报
回复
不转。
MySQL 数据类型和运算符
Re: MySQL 数据类型和运算符=============================# 数据类型 整数类型:五种 TINY SMALL MEDIUM INT BIG 浮点和定点小数类型:三种 FLOAT
DOUBLE
DECIMAL
日期与时间数据类型:五种 YEAR -1 字符串类型:二种 CHAR(M) VARCHAR(M) -1 二进制字符串:位字段BIT 固定BINARY 可变VARBINARY -1 # 运算符 算术 运算符 比较 运算符 逻辑 运算符 位操作 运算符 运算符的优先级-------------------------------------
Decimal
转
Double
在使用
Decimal
类型进行计算时,可以通过设置精度和舍入规则来控制计算结果的精度和小数位数。
Decimal
类型是用于表示高精度小数的一种数据类型,它可以提供比
Double
和Float更高的精度,并避免了使用浮点数时出现的精度丢失问题。原文链接:https://blog.csdn.net/m0_38103873/article/details/130380348。版权声明:本文为CSDN博主「三岁牧羊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。1、转换
double
。
c语言float类型精度丢失,float,
double
,
decimal
彼此转换会出现的精度有关问题(今天你Bug了吗?)...
float,
double
,
decimal
彼此转换会出现的精度问题(今天你Bug了吗?)在一开始先说明下,此处的精度问题并不包含数字过大、强转溢出之类导致的问题,主要说明三者之间比较或计算时容易产生的精度问题,以避免开发中莫名其妙的数据问题。大学时学的是C语言,虽然就没学会过,但对于float和
double
的描述还是记的很清楚,float和
double
因为采用科学记数法,会出现精度问题,要比较的话,...
Java
double
转
decimal
_Java中
Double
与Big
Decimal
的相互转换
今天写代码过程中,发现一个
Double
的变量通过new Big
Decimal
(
Double
d)转换为Big
Decimal
时,有效数字改变了,如下: public class Big
Decimal
Test { public static void main(String[] arg) { String s1 = "123.45";
Double
d1 = new
Double
(s1); //使用String类型的形参构造Big
Decimal
Hive支持的隐式类型转换
隐式转换图表图表小结:一、
double
decimal
string varchar 这四个基本能相互转换 除了
decimal
转
double
不行 因为
decimal
比
double
大相当于
double
与flout二、基本所有类型都能转为string 与varchar 三、多重转换(显示转换),a为binary(字节数组),SELECT (cast(cast(a as string) as...
C#
110,567
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章