诡异的decimal呀!!!---都来看看,顶者有分

aleng18 2012-09-23 08:00:42
诡异的decimal呀!!!---都来看看

我靠越活越回旋了,decimal的精度是多少呢?我不知道,谁来告诉我下?

微软的官方参考在这里
http://msdn.microsoft.com/zh-cn/library/364x0z75.aspx





[system.decimal]::MaxValue
79228162514264337593543950335


[system.decimal]::MinValue
-79228162514264337593543950335





但结果有时候29位,有时候15位,是咋回事?
PS C:\Windows\system32\WindowsPowerShell\v1.0> [decimal]$(1111111111111111111111117/3)
370370370370370370370372.33333

PS C:\Windows\system32\WindowsPowerShell\v1.0> [decimal]$(1/3)
0.333333333333333


我只想要29位的decimal,但是这样赋值
[decimal]$aaaa = 370370370370370370370372.33333
结果却成了
370370370370370000000000
...全文
107 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
aleng18 2012-09-26
  • 打赏
  • 举报
回复
powershell 是不能加m的,只能把被除数加上类型,我这样就自己搞定了。
林g 2012-09-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

powershell不知道,C#需要加上m后缀,否则被视作double。
[/Quote]
正解
冰镇宝贝321 2012-09-24
  • 打赏
  • 举报
回复
threenewbee 2012-09-23
  • 打赏
  • 举报
回复
powershell不知道,C#需要加上m后缀,否则被视作double。
iyomumx 2012-09-23
  • 打赏
  • 举报
回复
decimal的精度没有错,以微软官方为准。至于你的问题,主要原因是字面量被当作double来处理了,导致精度下降。

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧