社区
C#
帖子详情
DECIMAL转成DOUBLE
maoxiong25
2006-10-25 01:41:36
DECIMAL转成DOUBLE精度会变,
咋解决
如DECIMAL(0.58)---〉DOUBLE(0.579999999)
...全文
1151
5
打赏
收藏
DECIMAL转成DOUBLE
DECIMAL转成DOUBLE精度会变, 咋解决 如DECIMAL(0.58)---〉DOUBLE(0.579999999)
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
不转。
取整数的几种方法
Dim num As
Double
= 3.7 Dim roundedNum1 = Math.Round(num) ' 默认四舍五入,结果为 4 Dim roundedNum2 = Math.Floor(num) ' 向下取整,结果为 3 Dim roundedNum3 = Math.Ceiling(num) ' 向上取整,结果为 4 ...
mysql
decimal
能转
double
吗
MySQL
Decimal
能转
Double
吗? 在实际开发中,我们经常会涉及到存储和处理数值类型数据。MySQL 中提供了
DECIMAL
和
DOUBLE
两种数值类型,它们都可以用来存储浮点数。但是在使用过程中,有时候我们需要将
DECIMAL
...
Decimal
转
Double
Decimal
类型是用于表示高精度小数的一种数据类型,它可以提供比
Double
和Float更高的精度,并避免了使用浮点数时出现的精度丢失问题。原文链接:https://blog.csdn.net/m0_38103873/article/details/130380348。版权...
Hive支持的隐式类型转换
隐式转换图表图表小结:一、
double
decimal
string varchar 这四个基本能相互转换 除了
decimal
转
double
不行 因为
decimal
比
double
大相当于
double
与flout二、基本所有类型都能转为string 与varchar 三、多重转换...
C#
111,097
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章