decimal 类型

今天看到转换方面    发现  居然多了一种类型 decimal    之前对其一直是能过就过  知道大概有这么一种类型     今天先用词典查 发现 decimal  的意思是  十进制小数

纳闷 为什么十进制小数 还需要专拿一个类型来实现   double 和float  不是挺好的了么

然后看书   发现他们之间的转换还是有问题     

然后查网上的资料终于明白   -----》http://www.cnblogs.com/xiaoL/archive/2011/01/20/1939835.html

 

里边写到  decimal 类型有28位的有效数字   但是表示的数据范围却比float和double类型小。decimal类型并不是C#中的基础类型,所以使用的时候会对计算时的性能有影响。

这句话的意思就是  虽然decimal  占用的内存更大  但是 那是用来保存 精度的    也就是保存 小数点以后的长度的

 

文中还提出了两点  平常容易出现的错误

还有两个非常危险的错误认识!!

1、decimal不是浮点型、decimal不存在精度损失。

下面有段程序大家可以去看看结果是什么。记住!所有的浮点型变量都存在精度损失的问题,而decimal是一个不折不扣的浮点型,不论它精度有多高,精度损失依然存在!

decimal dd = 10000000000000000000000000000m;

dd += 0.1m;

Console.WriteLine ( "{0:G50}", dd ); 

2、decimal所能储存的数比double大,从double到decimal的类型转换不会出现任何问题。

微软在decimal的帮助上真的要好好反省了。实际上只有从整形到decimal的转换才是扩大转换,decimal的精度比double大,但所能储存的最大数却比double要小。

 

posted @   王若伊_恩赐解脱  阅读(317)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)

点击右上角即可分享
微信分享提示