Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用TimeSpan将Textvalue字符串(秒)值转换为双精度(秒)_C#_Asp.net - Fatal编程技术网

C# 使用TimeSpan将Textvalue字符串(秒)值转换为双精度(秒)

C# 使用TimeSpan将Textvalue字符串(秒)值转换为双精度(秒),c#,asp.net,C#,Asp.net,我要将字符串值转换为双精度。。。 实际上,我想使用TimeSpan 我要转换的值是780.0000000 656558有780秒,剩下的是毫秒。。。我想显示13.000000000 10942633333或例如13min,以防没有准确的感知 我正在尝试使用以下代码 if (DownTime != null) { DownTime.Text = sensor.DownTime; if (DownTime.Text.Length > 0) { //Ti

我要将字符串值转换为双精度。。。 实际上,我想使用
TimeSpan
我要转换的值是
780.0000000 656558
有780秒,剩下的是毫秒。。。我想显示
13.000000000 10942633333
或例如13min,以防没有准确的感知

我正在尝试使用以下代码

if (DownTime != null)
{
    DownTime.Text = sensor.DownTime;
    if (DownTime.Text.Length > 0)
    {
         //TimeSpan.FromSeconds(DownTime.Text).ToString()
         double DownTimeSeconds = Convert.ToDecimal(DownTime.Text).ToString();
         double DownTimeMints = DownTimeSeconds / 60;
         sensor.DownTime = Convert.ToString(DownTimeMints);
         DownTime.Text = sensor.DownTime;
         DownTime.ToolTip = DownTime.Text;
         if (DownTime.Text.Length >= 25)
         {
             DownTime.Text = DownTime.Text.Substring(0, 20) + "...";
         }
    }
}
我想在几分钟内显示输出。。。我该怎么办 提前感谢

采用一个
双精度
并包含小数部分(此处添加0.1以明确小数部分):

使用PowerShell(它会自动将
字符串
转换为
双精度
转换)


这个密码给我13分钟:请在你这边试试

        double time = 780.0000000656558;
        TimeSpan ts = TimeSpan.FromSeconds(time);
        Console.WriteLine(ts.Minutes);
        //Console.WriteLine(ts.TotalMinutes);  // this will give u mintes.fractionalpart
        Console.ReadLine();

我不相信.NET内置的日期/时间数据类型有足够的分辨率达到毫秒级的精度。你在这里混淆了很多类型。例如:
int downtTimeSeconds=Convert.ToDecimal(downth.Text).ToString()真的不清楚您的原始值代表什么。。。当然,你有“.000”这一事实意味着它是0毫秒…@Azemraavi:你还没有回答关于你的样本值代表什么的问题。你说“剩下的是毫秒”-但是有多少?@AzeemRaavi看起来你不知道毫秒是什么。这是
1/1000
秒,不是完整的小数部分。@Azemraavi:我们不知道,因为我们不知道您的需求来自哪里。有780秒,然后是656558毫秒,这本身就是656.558秒,这看起来很奇怪。。。听起来您需要非常仔细地审查需求。通常,将两个整数存储为“x.y”也是一个坏主意,因为5.10通常与5.1(作为示例)的值相同,而如果这是(5,10)vs(5,1),则绝对不是这样。虽然
TimeSpan
受到100ns刻度的限制,
FromSeconds
只支持整毫秒
FromSeconds(780.0004)=FromSeconds(780)
@CodesInChaos true,但在这种情况下,这没有什么区别,因为分数在低于刻度分辨率的10ns范围内。 PS [64]> [TimeSpan]::FromTicks(7801000000) Days : 0 Hours : 0 Minutes : 13 Seconds : 0 Milliseconds : 100 Ticks : 7801000000 TotalDays : 0.00902893518518519 TotalHours : 0.216694444444444 TotalMinutes : 13.0016666666667 TotalSeconds : 780.1 TotalMilliseconds : 780100
        double time = 780.0000000656558;
        TimeSpan ts = TimeSpan.FromSeconds(time);
        Console.WriteLine(ts.Minutes);
        //Console.WriteLine(ts.TotalMinutes);  // this will give u mintes.fractionalpart
        Console.ReadLine();