diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs index 572debc..27af8a5 100644 --- a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs +++ b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs | |||
@@ -1689,7 +1689,17 @@ namespace OpenSim.Region.ScriptEngine.Shared | |||
1689 | 1689 | ||
1690 | static public explicit operator LSLFloat(string s) | 1690 | static public explicit operator LSLFloat(string s) |
1691 | { | 1691 | { |
1692 | return new LSLFloat(double.Parse(s)); | 1692 | Regex r = new Regex("^[ ]*-?[0-9]*\\.?[0-9]*[eE]?-?[0-9]*"); |
1693 | Match m = r.Match(s); | ||
1694 | string v = m.Groups[0].Value; | ||
1695 | |||
1696 | while (v.Length > 0 && v.Substring(0, 1) == " ") | ||
1697 | v = v.Substring(1); | ||
1698 | |||
1699 | if (v == String.Empty) | ||
1700 | v = "0"; | ||
1701 | |||
1702 | return new LSLFloat(double.Parse(v)); | ||
1693 | } | 1703 | } |
1694 | 1704 | ||
1695 | static public implicit operator LSLFloat(double d) | 1705 | static public implicit operator LSLFloat(double d) |