C#的float,double和decimal

网友投稿 258 2022-09-14

C#的float,double和decimal

C#里面处理小数的类型大致有:

float :0.1f 32位 double :0.1d 64位 decimal:0.1m 128位

decimal的精度比double高,但数值范围比double小。decimal虽然是128位,但这只是因为它的小数位可以很多,但整体数值范围却没有double大。

但是在C#中,给人感觉,好像double在精度兼容方面比decimal要好,比如

decimal m;string value = Decimal.TryParse("3.3900000000000005E-4",out m) ? m.ToString() : "";// value == ""

结果value就是空的。

double d;string value = Double.TryParse("3.3900000000000005E-4",out d) ? d.ToString() : "";// value == "0.000339"

我就不知道是Decimal.TryParse不支持科学计数法呢还是怎么样

具体见拙作: ​​​SQL SERVER的浮点数类型及与C#的对应关系​​

也可以参考 ​​​c#中decimal ,double,float的区别​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SocialMarketing:聪明文案,善用“傻瓜”逻辑
下一篇:javascript数组的排序及查找
相关文章

 发表评论

暂时没有评论,来抢沙发吧~