From: Shane Carr Date: Wed, 28 Feb 2018 05:44:52 +0000 (+0000) Subject: ICU-13574 Merging trunk to branch X-Git-Tag: release-62-rc~200^2~115 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1254850bf9d6f93a2a0f455adffd83077773df94;p=icu ICU-13574 Merging trunk to branch X-SVN-Rev: 41004 --- 1254850bf9d6f93a2a0f455adffd83077773df94 diff --cc icu4j/main/classes/core/src/com/ibm/icu/impl/number/parse/NumberParserImpl.java index e66d65342a5,451044c670a..01678fa75ba --- a/icu4j/main/classes/core/src/com/ibm/icu/impl/number/parse/NumberParserImpl.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/impl/number/parse/NumberParserImpl.java @@@ -5,8 -5,10 +5,9 @@@ package com.ibm.icu.impl.number.parse import java.text.ParsePosition; import java.util.ArrayList; import java.util.Collection; -import java.util.Comparator; import java.util.List; + import com.ibm.icu.impl.StringSegment; import com.ibm.icu.impl.number.AffixPatternProvider; import com.ibm.icu.impl.number.CustomSymbolCurrency; import com.ibm.icu.impl.number.DecimalFormatProperties; diff --cc icu4j/main/classes/core/src/com/ibm/icu/impl/number/parse/ScientificMatcher.java index ebdd93c9abc,a6656542baa..a297a50006e --- a/icu4j/main/classes/core/src/com/ibm/icu/impl/number/parse/ScientificMatcher.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/impl/number/parse/ScientificMatcher.java @@@ -48,11 -47,11 +49,11 @@@ public class ScientificMatcher implemen } // Allow a sign, and then try to match digits. - boolean minusSign = false; + int exponentSign = 1; - if (segment.matches(UnicodeSetStaticCache.get(UnicodeSetStaticCache.Key.MINUS_SIGN))) { + if (segment.startsWith(UnicodeSetStaticCache.get(UnicodeSetStaticCache.Key.MINUS_SIGN))) { - minusSign = true; + exponentSign = -1; segment.adjustOffsetByCodePoint(); - } else if (segment.matches(UnicodeSetStaticCache.get(UnicodeSetStaticCache.Key.PLUS_SIGN))) { + } else if (segment.startsWith(UnicodeSetStaticCache.get(UnicodeSetStaticCache.Key.PLUS_SIGN))) { segment.adjustOffsetByCodePoint(); } diff --cc icu4j/main/tests/core/src/com/ibm/icu/dev/test/number/NumberParserTest.java index c1e5eaf8422,04b3d7c5abc..cd6915c2eb1 --- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/number/NumberParserTest.java +++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/number/NumberParserTest.java @@@ -7,11 -8,8 +7,12 @@@ import static org.junit.Assert.assertTr import org.junit.Test; + import com.ibm.icu.impl.StringSegment; +import com.ibm.icu.impl.number.CustomSymbolCurrency; import com.ibm.icu.impl.number.DecimalFormatProperties; +import com.ibm.icu.impl.number.parse.AffixPatternMatcher; +import com.ibm.icu.impl.number.parse.AffixTokenMatcherFactory; +import com.ibm.icu.impl.number.parse.AnyMatcher; import com.ibm.icu.impl.number.parse.IgnorablesMatcher; import com.ibm.icu.impl.number.parse.MinusSignMatcher; import com.ibm.icu.impl.number.parse.NumberParserImpl;