草庐IT

double-quotes

全部标签

c# - 为什么 double.TryParse ("0.0000", out doubleValue) 返回 false ?

我正在尝试使用double.TryParse()解析字符串“0.0000”,但我不知道为什么在这个特定示例中它会返回false。当我传递类似整数的字符串时,例如“5”正确解析为值5。知道为什么会这样吗? 最佳答案 它考虑了运行时的本地化设置...也许您在.不是小数点而是,的系统上运行它...在您的具体情况下,我假设您想要一种固定的文化,而不管您使用.作为小数点运行的系统:double.TryParse("0.0000",NumberStyles.Number,CultureInfo.CreateSpecificCulture("en

c# - 为什么 double.TryParse ("0.0000", out doubleValue) 返回 false ?

我正在尝试使用double.TryParse()解析字符串“0.0000”,但我不知道为什么在这个特定示例中它会返回false。当我传递类似整数的字符串时,例如“5”正确解析为值5。知道为什么会这样吗? 最佳答案 它考虑了运行时的本地化设置...也许您在.不是小数点而是,的系统上运行它...在您的具体情况下,我假设您想要一种固定的文化,而不管您使用.作为小数点运行的系统:double.TryParse("0.0000",NumberStyles.Number,CultureInfo.CreateSpecificCulture("en

c# - 检查 Double 是否为 "NaN"的最短方法

当以Double.PositiveInfinity作为参数调用Double.IsNaN()时,结果为false。这违背了我的直觉,因为无穷大不是数字。显然,“NaN”仅以.NET中的常量形式存在,这是IEEE标准描述的还是自定义实现细节?是否有比以下方法更短的方法来检查Double是否为“NaN”:(Double.IsNaN(d)||Double.IsPositiveInfinity(d)||Double.IsNegativeInfinity(d))或(Double.IsNaN(d)||Double.IsInfinity(d)) 最佳答案

c# - 检查 Double 是否为 "NaN"的最短方法

当以Double.PositiveInfinity作为参数调用Double.IsNaN()时,结果为false。这违背了我的直觉,因为无穷大不是数字。显然,“NaN”仅以.NET中的常量形式存在,这是IEEE标准描述的还是自定义实现细节?是否有比以下方法更短的方法来检查Double是否为“NaN”:(Double.IsNaN(d)||Double.IsPositiveInfinity(d)||Double.IsNegativeInfinity(d))或(Double.IsNaN(d)||Double.IsInfinity(d)) 最佳答案

c# - Double.IsNaN 测试快 100 倍吗?

我在.NETSourceCode中找到了这个:它声称比System.Double.IsNaN快100倍。是否有理由不使用此函数而不是System.Double.IsNaN?[StructLayout(LayoutKind.Explicit)]privatestructNanUnion{[FieldOffset(0)]internaldoubleDoubleValue;[FieldOffset(0)]internalUInt64UintValue;}//ThestandardCLRdouble.IsNaN()functionisapproximately100timesslowertha

c# - Double.IsNaN 测试快 100 倍吗?

我在.NETSourceCode中找到了这个:它声称比System.Double.IsNaN快100倍。是否有理由不使用此函数而不是System.Double.IsNaN?[StructLayout(LayoutKind.Explicit)]privatestructNanUnion{[FieldOffset(0)]internaldoubleDoubleValue;[FieldOffset(0)]internalUInt64UintValue;}//ThestandardCLRdouble.IsNaN()functionisapproximately100timesslowertha

C# 下列方法或属性之间的调用不明确 : 'System.Math.Round(double, int)' and 'System. Math.Round(decimal, int)

由于以下错误,我的代码无法编译:以下方法或属性之间的调用不明确:“System.Math.Round(double,int)”和“System.Math.Round(decimal,int)”我的代码是Math.Round(newFileInfo(strFilePath).Length/1024,1)我该如何解决这个问题?谢谢 最佳答案 Math.Round(newFileInfo(strFilePath).Length/1024d,1) 关于C#下列方法或属性之间的调用不明确:'Sys

C# 下列方法或属性之间的调用不明确 : 'System.Math.Round(double, int)' and 'System. Math.Round(decimal, int)

由于以下错误,我的代码无法编译:以下方法或属性之间的调用不明确:“System.Math.Round(double,int)”和“System.Math.Round(decimal,int)”我的代码是Math.Round(newFileInfo(strFilePath).Length/1024,1)我该如何解决这个问题?谢谢 最佳答案 Math.Round(newFileInfo(strFilePath).Length/1024d,1) 关于C#下列方法或属性之间的调用不明确:'Sys

c# - 将任何货币字符串转换为 double

我需要在SQLServer中存储多种货币。我知道SQL不支持所有不同类型的货币(除非我将其存储为字符串,但我不想这样做)。我的想法是将所有值从它们的货币格式转换为标准double值并存储它。然后在显示时根据文化信息重新格式化即可。但是,我尝试过做一些事情,例如varcultureInfo=newSystem.Globalization.CultureInfo("en-US");doubleplain=returnDouble.Parse("$20,000.00",cultureInfo);这似乎永远都行不通,它总是抛出一个FormatException。即使删除货币符号并仅根据数字尝试

c# - 将任何货币字符串转换为 double

我需要在SQLServer中存储多种货币。我知道SQL不支持所有不同类型的货币(除非我将其存储为字符串,但我不想这样做)。我的想法是将所有值从它们的货币格式转换为标准double值并存储它。然后在显示时根据文化信息重新格式化即可。但是,我尝试过做一些事情,例如varcultureInfo=newSystem.Globalization.CultureInfo("en-US");doubleplain=returnDouble.Parse("$20,000.00",cultureInfo);这似乎永远都行不通,它总是抛出一个FormatException。即使删除货币符号并仅根据数字尝试