如果我想在代码中使用十进制文字,我已经看到存在m后缀(其中m代表金钱).这是否适用于任何小数,或者是否有更一般的赋值(d代表double,虽然支持直接转换,但肯定不是正确的).

object decimalValue=2m;

请注意,我以对象赋值为例,因为在...

decimal decimalValue=2;

... 很明显,2应该通过编译器解释为十进制.

m似乎可以,msdn将其用作DECIMAL类型的示例.

推荐答案

记录在C# language specification中,第2.4.4章:

float f = 1.2f;
double d = 1.2d;
uint u = 2u;
long l = 2L;
ulong ul = 2UL;
decimal m = 2m;

int,byte,sbyte,short,ushort都没有.

.net相关问答推荐

[x.x.x,)在Packages.lock.json依赖项中是什么意思?

为什么这个同步运行的异步睡眠会挂起?

在 C# 中将字符串转换为 colored颜色

如何摆脱 VS2008 中的目标程序集不包含服务类型错误消息?

在 WinForms 应用程序中查找焦点控件的首选方法是什么?

C# 是否(或将)包含用于副作用验证的功能?

防止对话框在按钮的单击事件处理程序中关闭

ILMerge 最佳实践

.NET 4.0 中有内置的二叉搜索树吗?

共享 AssemblyInfo 用于跨解决方案的统一版本控制

注册 COM 互操作与使程序集 COM 可见

Java 和 .NET 技术/框架的类似物

.NET 中是否有可序列化的通用键/值对类?

如何确定字符串是 C# 中的有效 IPv4 还是 IPv6 地址?

使用 XmlDocument 读取 XML 属性

覆盖 ASP.NET MVC 中的授权属性

如何获得 Bin 路径?

模拟和单元测试需要时如何抛出 SqlException?

C# ListView 列宽自动

序列化和反序列化 .NET 对象的最快方法