草庐IT

decimal_places

全部标签

c# - Json.NET 基本类型 - 使用 Decimal 而不是 Double

从JSON解析float时,如何让JSON.NET返回小数而不是double?(这是一个序列化的带有Dictionary的对象)。我已经尝试编写一个JsonConverter,但是CanConvert方法没有被调用为Double类型以尝试转换它。还有其他关于覆盖JsonTextReader的代码,但这在最新版本的Json.Net中似乎不可能。 最佳答案 在Json.NET5.0中,Newtonsoft.Json.JsonSerializerSettings类有新的属性FloatParseHandling,你可以设置这个属性值Newt

C#,运算符 '*' 不能应用于类型 'double' 和 'decimal' 的操作数

这个错误应该是一个简单的错误,但我似乎无法让它工作。问题在于这个完全相同的代码在程序的早期工作。我看不出有任何理由让它在此实例上而不是前四个实例上发送错误。引用下面的代码,并随时提出您可能有的任何批评,因为它应该会让我变得更好。如果重要的话,我正在使用SharpDevelop2.2。这是一个有效的代码示例:voidcalc2Click(objectsender,EventArgse){if(!String.IsNullOrEmpty(tb2_fla.Text)&String.IsNullOrEmpty(tb2_e.Text)|String.IsNullOrEmpty(tb2_fla.T

c# - 在预处理语句 C# 中使用 SqlDBType.Decimal

我正在使用C#中的准备语句。SqlCommandinscommand=newSqlCommand(supInsert,connection);inscommand.Parameters.Add("@ordQty",SqlDbType.Decimal,18);inscommand.Prepare();u=inscommand.ExecuteNonQuery();上面的代码抛出以下异常:SqlCommand.Prepare方法要求“Decimal”类型的参数具有显式设置的Precision和Scale。编辑:如何避免这个异常 最佳答案

c# - 从 Single 到 Decimal 的显式转换导致不同的位表示

如果我将singles转换为decimald我注意到它的位表示与直接创建的小数。例如:Singles=0.01f;Decimald=0.01m;int[]bitsSingle=Decimal.GetBits((decimal)s)int[]bitsDecimal=Decimal.GetBits(d)返回(为简洁起见删除了中间元素):bitsSingle:[0]=10[3]=196608bitsDecimal:[0]=1[3]=131072这两个都是十进制数,都(看起来)准确地表示0.01:查看规范没有任何亮点,除了可能:§4.1.7Contrarytothefloatanddouble

c# - 为什么逗号在具有 InvariantCulture 的 int.Parse() 和 decimal.Parse() 中表现不同?

为什么:decimal.Parse("1,2,3,45",CultureInfo.InvariantCulture)返回小数12345,然而:int.Parse("1,2,3,45",CultureInfo.InvariantCulture)抛出异常?我希望逗号在相同的文化中得到相同的对待。如果decimal.Parse返回12345,为什么int.Parse不返回12345? 最佳答案 SeeNumberStylesint的默认NumberStyles是Integer:IntegerIndicatesthattheAllowLea

c# - 为什么 long 和 decimal 之间的 Equals 不可交换?

我在linqpad中运行了这段代码:longx=long.MaxValue;decimaly=x;x.Dump();y.Dump();(x==y).Dump();(y==x).Dump();Object.Equals(x,y).Dump();Object.Equals(y,x).Dump();x.Equals(y).Dump();y.Equals(x).Dump();它产生这个输出:92233720368547758079223372036854775807TrueTrueFalseFalseFalseTrue请注意最后两行:x.Equals(y)为假,但y.Equals(x)为真。因

c# - Decimal.Parse 和不正确的字符串格式错误

我有一个小数解析的简单问题。以下代码在我的电脑上运行良好,但当我在服务器(VPS,WindowsServer2008R2标准版)上发布项目时,出现错误“输入字符串格式不正确”。有什么问题吗?我将解析后的数字存储在MySQL数据库表中-列类型为DECIMAL(10,4)源代码:CultureInfononInvariantCulture=newCultureInfo("en-AU");//orpl-PLnonInvariantCulture.NumberFormat.NumberDecimalSeparator=".";Thread.CurrentThread.CurrentCultur

c# - decimal.Round 和 Math.Round 之间的区别

C#中的Math.Round和decimal.Round函数有什么区别? 最佳答案 没有区别。Math.Round(decimal)源代码:publicstaticDecimalRound(Decimald){returnDecimal.Round(d,0);}ReferenceSource.NETFramework编辑:为了澄清,decimal.cs类的源代码:publicstaticDecimalRound(Decimald){returnRound(d,0);} 关于c#-deci

c# - 在 Protocol Buffers 中表示 System.Decimal 的最佳方式是什么?

从this开始问题,在ProtocolBuffer中表示System.Decimal对象的最佳方式是什么? 最佳答案 好吧,protobuf-net会简单地为您处理这个;它运行类型的属性,并完全支持decimal。由于在proto中没有直接表达decimal的方式,它不会(当前)从“.proto”文件生成decimal属性,但它会是一个识别一些常见类型(“BCL.Decimal”或类似类型)并将其解释为十进制的不错的调整。至于代表它-我有一个discussiondocument在protobuf-netwiki区域中对此(我怀疑现在

c# - Decimal.GetHashCode 取决于尾随零

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:C#Whycanequaldecimalsproduceunequalhashvalues?我在我的.NET3.5应用程序(x86或x64,我都试过了)中遇到了一个问题,其中尾随零的数量不同的小数具有不同的哈希码。例如:decimalx=3575.000000000000000000M;decimaly=3575.0000000000000000000M;Console.WriteLine(x.GetHashCode());Console.WriteLine(y.GetHashCode());Console.