如果我想在代码中使用十进制文字,我已经看到存在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相关问答推荐

使用 PowerShell 从文件夹中获取文件名的最快\最好的方法是什么?

将 Span 传递到函数时出现 F# 错误

无法实例化类的代理:System.Net.HttpWebRequest.找不到无参数构造函数

编译时禁用 Dll 文化文件夹

Moq - 不可覆盖的成员不能用于设置/验证表达式

如何从 HashSet 中检索实际项目?

WPF中的依赖属性和附加属性有什么区别?

检测到包降级警告(dotnet core,vs 2017)

if (false == true) 在内部抛出异常时执行块

与 ASP.NET Core 相关的 ConfigureAwait(false)?

System.ValueTuple 和 System.Tuple 有什么区别?

Double 的“==”运算符的定义

判断 HttpStatusCode 是代表成功还是失败

添加对 MEF 插件项目的引用时,为什么会出现警告图标?

使用 C# 将文件上传到 FTP

创建一个已完成的任务

使用给定的 DateTime 对象获取一个月的第一天和最后一天

MongoDB C# 驱动程序 - 忽略绑定字段

为什么 HttpClient BaseAddress 不起作用?

从数据读取器填充数据表