首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将隐式十进制转换为双小数或双十进制

问将隐式十进制转换为双小数或双十进制
EN

Stack Overflow用户
提问于 2013-08-11 09:32:15
回答 2查看 291关注 0票数 0

双精度为:15-16位数.

十进制精度是:28-29有效位数.

因此,我们可以将十进制转换为双implicitly.But,考虑以下代码:

代码语言:javascript
复制
double x = 100.3;
decimal y = 10.2;
 x = y;
 y = x;

x=y和y=x都存在编译时错误。

为什么我们不能隐式地将十进制转换为双小数或双小数化?

请阅读:双倍到十进制,十进制到双

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-11 09:38:36

这两种类型之间的想法完全不同。请看埃里克·利珀特的博客。

编辑:

博文引用:“由于范围差异,不可能有从双小数点到小数点的隐式转换;大量的双数比最大的小数点还要大,因此隐式转换要么必须抛出,要么默默地丢失,这两者都是不可接受的。从十进制到双数的隐式转换可能只会失去精度,而不是大小。”

票数 2
EN

Stack Overflow用户

发布于 2013-08-11 09:36:22

因为虽然decimal的精度较高,但倍频的范围更大。

double从-1.79769313486232E+308到1.79769313486232E+308。同时,decimal从-79228162514264337593543950335到79228162514264337593543950335。有一个巨大的差异。但是,您通常不希望从decimal转换为double,因为当您使用decimal时,通常不希望失去精度(因为它们通常用于银行业务,这需要精确)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18170555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档