Convert String to Float


I would like to convert a string to float in order to do math operations on it.

Here is my line of code where I want to convert the string, which is stored in an array to a float:

var mensAverageScore : Float = arr[0] / arr[1];

I have tried the following with no luck:

var mensAverageScore : Float = parseFloat(arr[0]) / parseFloat(arr[1]);

Any ideas?

THanks, Chris


I have tried the following with no luck, and placed all my code.

//Here just reads text file and place everything in an array
var regex : String = ",";
var arr : Array = Regex.Split(downloadText,regex);

//Tested here, prints arr[0] and arr[1] fine

//Now just want to convert them into float so i can do some math
var mensTotalTimes : float = float.TryParse(arr[0]);
var mensTotalTries : float = float.TryParse(arr[1]);

//Printing mensAverageScore doesnt work
var mensAverageScore : float = mensTotalTimes / mensTotalTries ;

/*** THIS WORKS ***/
    var mensTotalTimes : float = parseFloat(arr[0]);
    var mensTotalTries : float = parseFloat(arr[1]);

You should use float.Parse or float.TryParse (float is the same as Single). However, depending on your culture settings, floats can be represented with a comma (,) or dot (.) to separate the decimals.

If you want to use the following format "3.14" (as perhaps opposed to "3,14"), use the invariant culture number format System.Globalization.CultureInfo.InvariantCulture.NumberFormat.

See this post about number formats.

var mensTotalTries : float = float.Parse(arr[1],

Also make sure to use the same culture info when converting floats back to strings since they will use your computers culture info by default (causing 3.14 to become "3,14"). Make sure to call ToString like this to get string "3.14".


You want to use "float", not "Float". Aside from parseFloat(), there's also float.TryParse(), which can handle invalid input better.

use float.parse to convert the string to float. also int and double and ... has a parse method too.

sorry to ask this question but i’m a new user…

I tried it but the error message was “cannot convert string to float”;

private var myFloat : float;
private var myString :  String:
private var anotherFloat : float;

myFloat = myString * anotherFloat;

In Unity Javascript I simply cast a string to float like this and it works in my script without errors.

It will throw up errors if the string is not private var. segmod = float.Parse( segstring ); worked with private var string.