Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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# 如何在Windows Phone中将值解析为字符串?_C#_.net_Windows Phone 7_Xaml_Windows Phone 8 - Fatal编程技术网

C# 如何在Windows Phone中将值解析为字符串?

C# 如何在Windows Phone中将值解析为字符串?,c#,.net,windows-phone-7,xaml,windows-phone-8,C#,.net,Windows Phone 7,Xaml,Windows Phone 8,如何将此双格式值(距离、卡路里)解析为字符串格式?它们被记录在文本块中。需要在按钮clickevent中将它们转换为字符串 private void PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e) { var coord = new GeoCoordinate(e.Position.Location.Latitude

如何将此双格式值(距离、卡路里)解析为字符串格式?它们被记录在文本块中。需要在按钮clickevent中将它们转换为字符串

private void PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
        {            
            var coord = new GeoCoordinate(e.Position.Location.Latitude, e.Position.Location.Longitude);
     var calories = caloriesLabel.Text;
                var previousPoint = _line.Path.Last();
                var distance = coord.GetDistanceTo(previousPoint);
                var millisPerKilometer = (1000.0 / distance) * (System.Environment.TickCount - _previousPositionChangeTick);
                _kilometres += distance / 1000.0;               
                paceLabel.Text = TimeSpan.FromMilliseconds(millisPerKilometer).ToString(@"mm\:ss");
                distanceLabel.Text = string.Format("{0:f2} km", _kilometres);
                caloriesLabel.Text = string.Format("{0:f0}", _kilometres * 65);
}
private void position已更改(对象发送方,地理位置更改数据源)
{            
var coord=新地理坐标(e.Position.Location.Latitude,e.Position.Location.Longitude);
var卡路里=卡路里标签.Text;
var previousPoint=_line.Path.Last();
变量距离=坐标GetDistanceTo(上一个点);
var毫微度计=(1000.0/距离)*(System.Environment.TickCount-\u previousPositionChangeTick);
_公里+=距离/1000.0;
paceLabel.Text=TimeSpan.From毫秒(毫秒计).ToString(@“mm\:ss”);
distanceLabel.Text=string.Format(“{0:f2}km”,_km);
卡路里标签.Text=string.Format(“{0:f0}”,_*65);
}
您可以使用, 例如

或者可以将format参数传递给ToString方法

string s = d.ToString("0.000 km");
Console.WriteLine(s);

如果未将“0.000”作为参数传递,则仅显示13。希望它有帮助

处理此问题的最佳方法是执行tryparse

String Dist, Cals;

bool distParsed = Double.TryParse(distance,out Dist);
bool calsParsed = Double.TryParse(calories,out Cals);

if(!distParsed||!calseParsed)
{
  String message = !distParsed ? "Distance failed to parse" : "";
  if(message.Trim().Length==0)
    message = !calsParsed ? "Calories failed to parse" : "";
  MessageBox.Show(message);
}

你想做什么,一旦字符串值成为文本块中的文本,就将其解析回double?@caschw:它们是double格式的。所以我需要将它们转换成字符串格式,以便将它们发布到下一个屏幕上进行显示。
String Dist, Cals;

bool distParsed = Double.TryParse(distance,out Dist);
bool calsParsed = Double.TryParse(calories,out Cals);

if(!distParsed||!calseParsed)
{
  String message = !distParsed ? "Distance failed to parse" : "";
  if(message.Trim().Length==0)
    message = !calsParsed ? "Calories failed to parse" : "";
  MessageBox.Show(message);
}