草庐IT

temp_double

全部标签

c# - 如何在 C# 中将 double 值转换为 DateTime?

我有值40880.051388并将其存储为double值,如果我打开Excel并粘贴到一个单元格中并将以下自定义格式“m/d/yyyyh:mm”应用到该值单元格,我得到"12/3/20111:14"如何在C#中执行此解析/转换?我不知道该值是否是某个检查点的毫秒数,例如纪元时间,或者该值是否采用某种特定的准备格式,但excel是如何得出这个特定值的?可以在C#中完成吗?我已经尝试在VisualStudio中使用TimeSpan、DateTime和其他类似的东西,但没有任何进展。 最佳答案 看起来您正在使用旧的OLEAutomatio

c# - 将 double 转换为日期时间?

我有一个.CSV文件,我正在将其读入C#程序。在其中一列中,有一个日期,但它是“通用”格式,因此它在.CSV中显示为数字。例如:41172。如何在C#中将此数字转换为格式为dd/mm/yyyy的日期?41172相当于2012年9月20日。 最佳答案 要从“Excel格式”的日期时间转换为C#日期时间,您可以使用DateTime.FromOADate功能。在你上面的例子中:DateTimemyDate=DateTime.FromOADate(41172);要以所需格式写出显示,请使用:myDate.ToString("dd/MM/yy

c# - Double.TryParse() 输入小数点分隔符与系统小数点分隔符不同

我有一个使用点(".")作为小数点分隔符的源XML,我在使用逗号(",")作为小数点分隔符的系统上解析它。因此,值0.7被Double.TryParse或Double.Parse解析为7000000。正确解析的选项有哪些?其中之一是使用String.Replace('.',',')用逗号替换源中的点,但我认为我不太喜欢这个。 最佳答案 XML标准明确规定了日期和数字等格式。这有助于确保XML独立于平台且可互操作。看看使用XmlConvert用于xml数据。doublevalue=XmlConvert.ToDouble(stringV

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 转换为 String?

尽量不要在这里重复自己(干),帮帮我。=)我有一个double代表评分/5。可能的值是:0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5.我想将其转换为不带小数位的字符串。所以值会变成:"0","05","1","15","2","25","3","35","4","45","5".我为什么要这样做?因为我正在尝试根据值动态创建链接:stringlink="http://somewhere.com/images/rating_{0}.gif";returnstring.Format(link,"15");可能的值在别处处理/验证,换句话说,我可以100%确定该值将始终是我

c# - 专门在 C# 中获取系统 TEMP 路径

我正在使用System.IO.Path.GetTempPath()方法从环境变量中检索临时文件夹。但是,我发现这将始终返回当前用户的TEMP或TMP变量(如果存在),否则它将返回系统TEMP或TMP变量。有没有办法始终获取系统TEMP变量?我知道SO上关于Path.GetTempPath()方法的其他几个问题,其中答案引用了MSDN中关于此方法如何决定返回内容的文档。我从MSDN了解到此方法的行为,我想问是否有另一种方法可以确保我获得系统临时文件夹。 最佳答案 也许你正在寻找Environment.GetEnvironmentVar

c# - 为什么模数运算符不适用于 c# 中的 double?

考虑一下:doublex,y;x=120.0;y=0.05;doublez=x%y;我试过了,预计结果是0,但结果是0.04933333。但是,x=120.0;y=0.5;doublez=x%y;确实给出了正确的结果0。这里发生了什么?我尝试了Math.IEEERemainder(double,double)但它也没有返回0。这是怎么回事?另外,顺便说一句,在C#中求余数的最合适方法是什么? 最佳答案 由于其存储格式,double无法存储输入或显示的每个值。数字的人类表示通常采用十进制格式,而double则基于双系统。在double

c# - 将 double 组转换为字节数组

如何将double[]数组转换为byte[]数组,反之亦然?classProgram{staticvoidMain(string[]args){Console.WriteLine(sizeof(double));Console.WriteLine(double.MaxValue);double[]array=newdouble[]{10.0,20.0,30.0,40.0};byte[]convertedarray=?Console.Read();}} 最佳答案 假设您希望将double值一个接一个地放置在相应的字节数组中,LINQ可

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# - 在没有 OverflowException 的情况下将 "1.79769313486232E+308"转换为 double?

我有这个字符串“1.79769313486232E+308”,我试图将它转换为.NET数值(double?),但出现以下异常。我正在使用Convert.ToDouble()。进行此转换的正确方法是什么?OverflowException:ValuewaseithertoolargeortoosmallforaDouble 最佳答案 不幸的是这个值大于double.MaxValue,因此异常。正如codekaizen所建议的,您可以对字符串的测试进行硬编码。如果您首先生成字符串,则更好的(IMO)替代方法是使用“r”格式说明符。然后您