首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在十进制值赋值中,"M“代表什么?

在十进制值赋值中,"M“代表什么?
EN

Stack Overflow用户
提问于 2012-04-19 03:04:24
回答 2查看 27.8K关注 0票数 23

MSDN说:

如果没有后缀m,该数字将被视为双精度数,从而生成编译器错误。

中的"M“是什么:

代码语言:javascript
复制
decimal current = 10.99M;

代表什么?

它是否与以下内容不同:

代码语言:javascript
复制
decimal current = (decimal)10.99
EN

回答 2

Stack Overflow用户

发布于 2012-04-19 03:05:21

描述

代码语言:javascript
复制
decimal current = 10.99M; 

告诉编译器你想要一个十进制数。

代码语言:javascript
复制
decimal current = (decimal)10.99

告诉编译器要将双精度10.99转换为小数。

有人说它代表money。M,因为您必须在财务应用程序中使用小数。您必须使用小数,因为它们比浮点数(双精度)更精确。

小数后缀是M/m,因为D/d已被双精度取。尽管有人建议M代表金钱,但Peter Golde回忆说,M只是被选为十进制下一个最好的字母。

小数比双精度具有更多的有效数字,因此它可以更精确-它也会占用更多的内存。除了确定的数学或物理相关的算法,双精度或浮点数应该可以做得很好。

例如的

  • 如果你做ANYNUMBER / 0.5d,你将得不到ANYNUMBER的一半。

  • 如果你做ANYNUMBER / 0.5m,你每次都会得到ANYNUMBER的一半。

  • 使用decimal for money

  • double用于汇率

更多信息

  • Decimal vs. Double - difference?
  • What Every Programmer Should Know About Floating-Point Arithmetic
票数 10
EN

Stack Overflow用户

发布于 2012-04-19 03:06:12

好吧..。我觉得"D“会和double混淆所以..。他们选择了"M"?也许是为了“钱”?看起来有点傻。但我找不到任何确定的东西。

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

https://stackoverflow.com/questions/10216182

复制
相关文章

相似问题

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