2015-05-17 5 views
0

im пытается прочитать файлы csv и назначает данные, считанные как входные данные Vector 3. Из моего понимания единицы классифицируют данные, считанные из csv-файла как «объект», в то время как входные данные для функции Vector 3 находятся в поплавке. Как преобразовать эти данные как значения float? пример кода здесьединство 3d cast object to float

using UnityEngine; 
using System.Collections; 
using System.Collections.Generic; 

public class readnmove : MonoBehaviour { 

public float lat; 
public float lon; 
public float alt; 
public float speed; 
void Awake() { 



} 

// Use this for initialization 
void Start() { 
} 

// Update is called once per frame 
void Update() { 




    List<Dictionary<string,object>> data = CSVReader.Read ("cuba"); 

    for(var i=0; i < data.Count; i++) { 
     print ("time " + data[i]["time"] + " " + 
       "x " + data[i]["x"] + " " + 
       "y " + data[i]["y"] + " " + 
       "z " + data[i]["z"]); 

     lat = data[i]["x"]; 
     lon = data[i]["y"]; 
     alt = data[i]["z"]; 

     transform.Translate(new Vector3 (lat, lon, alt)*speed*Time.deltaTime); 


    } 
} 
} 

ответ

0

Попробуйте использовать float.Parse(string) или float.TryParse(string, out float)

Таким образом, в вашем случае вы получите:

lat = float.Parse(data[i]["x"].ToString()); 
lon = float.Parse(data[i]["y"].ToString()); 
alt = float.Parse(data[i]["z"].ToString()); 
Смежные вопросы