草庐IT

DECIMAL_FORMAT

全部标签

c# - 为什么要使用 decimal(int [ ]) 构造函数?

我正在使用VisualStudio2013在Windows7上维护一个C#桌面应用程序。代码中的某处有以下行,它尝试使用Decimal(Int32[])构造函数创建一个0.01十进制值:decimald=newdecimal(newint[]{1,0,0,131072});第一个问题,跟下面的有区别吗?decimald=0.01M;如果没有什么不同,为什么开发人员要这么麻烦地编写代码?我需要更改此行以创建动态值。像这样的东西:decimald=(decimal)(1/Math.Pow(10,digitNumber));我是否会以这种方式引起一些不受欢迎的行为?

c# - 为什么要使用 decimal(int [ ]) 构造函数?

我正在使用VisualStudio2013在Windows7上维护一个C#桌面应用程序。代码中的某处有以下行,它尝试使用Decimal(Int32[])构造函数创建一个0.01十进制值:decimald=newdecimal(newint[]{1,0,0,131072});第一个问题,跟下面的有区别吗?decimald=0.01M;如果没有什么不同,为什么开发人员要这么麻烦地编写代码?我需要更改此行以创建动态值。像这样的东西:decimald=(decimal)(1/Math.Pow(10,digitNumber));我是否会以这种方式引起一些不受欢迎的行为?

c# - 为什么不能将 Double 隐式转换为 Decimal

我不明白十进制和double的转换规则。这样做是合法的decimaldec=10;doubledoub=(double)dec;然而让我感到困惑的是decimal是一个16字节的数据类型,而double是8字节,所以将double转换为decimal并不是一个扩大的对话,因此应该被隐含地允许;上面的例子是不允许的?doubledoub=3.2;decimaldec=doub;//CS0029:Cannotimplicitlyconverttype'double'to'decimal' 最佳答案 如果将double转换为decimal

c# - 为什么不能将 Double 隐式转换为 Decimal

我不明白十进制和double的转换规则。这样做是合法的decimaldec=10;doubledoub=(double)dec;然而让我感到困惑的是decimal是一个16字节的数据类型,而double是8字节,所以将double转换为decimal并不是一个扩大的对话,因此应该被隐含地允许;上面的例子是不允许的?doubledoub=3.2;decimaldec=doub;//CS0029:Cannotimplicitlyconverttype'double'to'decimal' 最佳答案 如果将double转换为decimal

C# Decimal.Epsilon

为什么Decimal数据类型没有Epsilon字段?Fromthemanual,decimal值的范围是±1.0×10e−28到±7.9×10e28。ThedescriptionofDouble.Epsilon:RepresentsthesmallestpositiveDoublevaluegreaterthanzero看来,Decimal也有这样一个(非平凡的)值。但为什么它不容易访问?我确实知道+1.0×10e−28恰好是大于零的最小正十进制值:decimalDecimal_Epsilon=newdecimal(1,0,0,false,28);//1e-28m;顺便说一句,有几个问

C# Decimal.Epsilon

为什么Decimal数据类型没有Epsilon字段?Fromthemanual,decimal值的范围是±1.0×10e−28到±7.9×10e28。ThedescriptionofDouble.Epsilon:RepresentsthesmallestpositiveDoublevaluegreaterthanzero看来,Decimal也有这样一个(非平凡的)值。但为什么它不容易访问?我确实知道+1.0×10e−28恰好是大于零的最小正十进制值:decimalDecimal_Epsilon=newdecimal(1,0,0,false,28);//1e-28m;顺便说一句,有几个问

c# - 文化不变的 Decimal.TryParse()

我正在将自定义字符串写入需要使用忽略区域性的Decimal.TryParse的小数验证器(即不关心输入是否包含“.”或“,”作为小数点分隔符)。这是建议的方法:publicstaticboolTryParse(strings,NumberStylesstyle,IFormatProviderprovider,outdecimalresult)我不知道用什么作为第三个参数。我见过的示例如下所示:culture=CultureInfo.CreateSpecificCulture("en-GB");Decimal.TryParse(value,style,culture,outnumber)

c# - 文化不变的 Decimal.TryParse()

我正在将自定义字符串写入需要使用忽略区域性的Decimal.TryParse的小数验证器(即不关心输入是否包含“.”或“,”作为小数点分隔符)。这是建议的方法:publicstaticboolTryParse(strings,NumberStylesstyle,IFormatProviderprovider,outdecimalresult)我不知道用什么作为第三个参数。我见过的示例如下所示:culture=CultureInfo.CreateSpecificCulture("en-GB");Decimal.TryParse(value,style,culture,outnumber)

c# - Decimal(18,2) 的最佳数据注释

我的sqlserver2008中有一个类型为Decimal(18,2)的列。但是在EntityFramework上,我可以在我的asp.netMVCWeb应用程序中应用于此属性的最佳数据注释验证是什么? 最佳答案 小数没有明确的数据注释,因此您需要使用两个单独的小数来添加约束。两位小数[RegularExpression(@"^\d+(\.\d{1,2})?$")]此正则表达式将确保该属性最多有两位小数。最多18位数字[Range(0,9999999999999999.99)]假设您不接受任何负数。否则,将0替换为-99999999

c# - Decimal(18,2) 的最佳数据注释

我的sqlserver2008中有一个类型为Decimal(18,2)的列。但是在EntityFramework上,我可以在我的asp.netMVCWeb应用程序中应用于此属性的最佳数据注释验证是什么? 最佳答案 小数没有明确的数据注释,因此您需要使用两个单独的小数来添加约束。两位小数[RegularExpression(@"^\d+(\.\d{1,2})?$")]此正则表达式将确保该属性最多有两位小数。最多18位数字[Range(0,9999999999999999.99)]假设您不接受任何负数。否则,将0替换为-99999999