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

将多行参数传递给Power Shell中的DotNet Pack命令

SeriLog LogConext.PushProperty在ASP.NET MVC 5中不能使用OWIN中间件

使用.NET 8时无法识别运行标识符

如何从 tshark 的 stderr 捕获实时数据包计数?

无法对.NET MAUI类库进行单元测试

F#:跨度、提升和底部类型(或缺乏)

C#字符串的GetHashCode()是如何实现的?

判断 Windows 路径中是否存在可执行文件

将 Moq 模拟对象传递给构造函数

JavaScript 中的IsNullOrWhitespace?

来自奥尔森时区的 .NET TimeZoneInfo

DBNull 的意义何在?

在安全处理异常时避免首次机会异常消息

C#中的T是什么意思?

获取 .NET 程序集的 AssemblyInformationalVersion 值?

在 .NET 中计算目录大小的最佳方法是什么?

为什么会出现编译错误使用未分配的局部变量?

Environment.GetFolderPath(...CommonApplicationData) 在 Vista 上仍然返回C:\Documents and Settings\

从 'System.Int32' 到 'System.Nullable`1[[System.Int32, mscorlib]] 的无效转换

在不使用while循环的情况下找到最里面的异常?