Search Unity

  1. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice
  2. Ever participated in one our Game Jams? Want pointers on your project? Our Evangelists will be available on Friday to give feedback. Come share your games with us!
    Dismiss Notice

float.parse(string s) crash

Discussion in 'Samsung Smart TV' started by awen zhang, Jul 24, 2015.

  1. awen zhang

    awen zhang

    Joined:
    May 13, 2015
    Posts:
    1
    when I set the language of TV to the French, the below method would be crashed.

    float.Parse(string s)


    FormatException: Unknown char: .
    at System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider) [0x00000] in <filename unknown>:0
    at System.Single.Parse (System.String s) [0x00000] in <filename unknown>:0
    at XmlHelper.GetFloatAttribute (System.Xml.XmlNode node, System.String attributeName) [0x00000] in <filename unknown>:0
    at PlayerWeaponDataImpl.Init (System.Xml.XmlNode node) [0x00000] in <filename unknown>:0
    at WeaponManager.LoadPlayerWeaponsFromConfig (System.Xml.XmlNode weaponsRoot) [0x00000] in <filename unknown>:0
    at WeaponManager.LoadConfig () [0x00000] in <filename unknown>:0
    at WeaponManager.Init () [0x00000] in <filename unknown>:0
    at WeaponManager..ctor () [0x00000] in <filename unknown>:0
    at Singleton.Init () [0x00000] in <filename unknown>:0
    at Singleton.get_Instance () [0x00000] in <filename unknown>:0
    at Boot+<StartGameplay>c__Iterator25.MoveNext () [0x00000] in <filename unknown>:0
     
  2. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    Which version of Unity you use to build?
     
  3. AlexThibodeau

    AlexThibodeau

    Unity Technologies

    Joined:
    Jul 23, 2013
    Posts:
    309
    What does your code look like?
     
  4. Jaehyun

    Jaehyun

    Unity Technologies

    Joined:
    Feb 4, 2014
    Posts:
    55
    Hi,
    I think French has special meaning about '.'.
    So please use float.Parse(string s, NumberStyles style, IFormatProvider provider) instead of float.Parse(string s) like below one.
    float f = float.Parse("0.2", System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture);​
     
    xiabob likes this.
  5. rahull1616dass

    rahull1616dass

    Joined:
    Oct 3, 2017
    Posts:
    24
    It'll be
    float f = float.Parse("0.2", System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.InvariantCulture);
     
unityunity