BUG: Lucene.Net.QueryParser.Xml.Builders.NumericRangeFilterBuilder: Fixed 
numeric parsing to use invariant culture


Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/a57c8e67
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/a57c8e67
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/a57c8e67

Branch: refs/heads/api-work
Commit: a57c8e67c8778f384faf90c92055cf998f6983d7
Parents: 4a07313
Author: Shad Storhaug <[email protected]>
Authored: Wed Mar 8 00:29:01 2017 +0700
Committer: Shad Storhaug <[email protected]>
Committed: Wed Mar 8 00:29:01 2017 +0700

----------------------------------------------------------------------
 .../Xml/Builders/NumericRangeFilterBuilder.cs             | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a57c8e67/src/Lucene.Net.QueryParser/Xml/Builders/NumericRangeFilterBuilder.cs
----------------------------------------------------------------------
diff --git 
a/src/Lucene.Net.QueryParser/Xml/Builders/NumericRangeFilterBuilder.cs 
b/src/Lucene.Net.QueryParser/Xml/Builders/NumericRangeFilterBuilder.cs
index d37193b..443291c 100644
--- a/src/Lucene.Net.QueryParser/Xml/Builders/NumericRangeFilterBuilder.cs
+++ b/src/Lucene.Net.QueryParser/Xml/Builders/NumericRangeFilterBuilder.cs
@@ -2,6 +2,7 @@
 using Lucene.Net.Search;
 using Lucene.Net.Util;
 using System;
+using System.Globalization;
 using System.Xml;
 
 namespace Lucene.Net.QueryParsers.Xml.Builders
@@ -121,25 +122,26 @@ namespace Lucene.Net.QueryParsers.Xml.Builders
                 Filter filter;
                 if (type.Equals("int", StringComparison.OrdinalIgnoreCase))
                 {
-                    filter = NumericRangeFilter.NewInt32Range(field, 
precisionStep, Convert.ToInt32(lowerTerm), Convert.ToInt32(upperTerm), 
lowerInclusive,
+                    filter = NumericRangeFilter.NewInt32Range(field, 
precisionStep, Convert
+                        .ToInt32(lowerTerm, CultureInfo.InvariantCulture), 
Convert.ToInt32(upperTerm, CultureInfo.InvariantCulture), lowerInclusive,
                         upperInclusive);
                 }
                 else if (type.Equals("long", 
StringComparison.OrdinalIgnoreCase))
                 {
                     filter = NumericRangeFilter.NewInt64Range(field, 
precisionStep, Convert
-                        .ToInt64(lowerTerm), Convert.ToInt64(upperTerm), 
lowerInclusive,
+                        .ToInt64(lowerTerm, CultureInfo.InvariantCulture), 
Convert.ToInt64(upperTerm, CultureInfo.InvariantCulture), lowerInclusive,
                         upperInclusive);
                 }
                 else if (type.Equals("double", 
StringComparison.OrdinalIgnoreCase))
                 {
                     filter = NumericRangeFilter.NewDoubleRange(field, 
precisionStep, Convert
-                        .ToDouble(lowerTerm), Convert.ToDouble(upperTerm), 
lowerInclusive,
+                        .ToDouble(lowerTerm, CultureInfo.InvariantCulture), 
Convert.ToDouble(upperTerm, CultureInfo.InvariantCulture), lowerInclusive,
                         upperInclusive);
                 }
                 else if (type.Equals("float", 
StringComparison.OrdinalIgnoreCase))
                 {
                     filter = NumericRangeFilter.NewSingleRange(field, 
precisionStep, Convert
-                        .ToSingle(lowerTerm), Convert.ToSingle(upperTerm), 
lowerInclusive,
+                        .ToSingle(lowerTerm, CultureInfo.InvariantCulture), 
Convert.ToSingle(upperTerm, CultureInfo.InvariantCulture), lowerInclusive,
                         upperInclusive);
                 }
                 else

Reply via email to