ICU-13574 Revising codePointZero loading based on feedback.

X-SVN-Rev: 41082
diff --git a/icu4c/source/i18n/dcfmtsym.cpp b/icu4c/source/i18n/dcfmtsym.cpp
index 02c0e07..a2cc58c 100644
--- a/icu4c/source/i18n/dcfmtsym.cpp
+++ b/icu4c/source/i18n/dcfmtsym.cpp
@@ -437,15 +437,19 @@
     sink.resolveMissingMonetarySeparators(fSymbols);
 
     // Resolve codePointZero
-    const UnicodeString& stringZero = getConstDigitSymbol(0);
-    UChar32 tempCodePointZero = stringZero.char32At(0);
-    if (u_isdigit(tempCodePointZero) && stringZero.countChar32() == 1) {
-        for (int32_t i=0; i<=9; i++) {
-            const UnicodeString& stringDigit = getConstDigitSymbol(i);
-            if (stringDigit.char32At(0) != tempCodePointZero + i || stringDigit.countChar32() != 1) {
-                tempCodePointZero = -1;
-                break;
-            }
+    UChar32 tempCodePointZero;
+    for (int32_t i=0; i<=9; i++) {
+        const UnicodeString& stringDigit = getConstDigitSymbol(i);
+        if (stringDigit.countChar32() != 1) {
+            tempCodePointZero = -1;
+            break;
+        }
+        UChar32 cp = stringDigit.char32At(0);
+        if (i == 0) {
+            tempCodePointZero = cp;
+        } else if (cp != tempCodePointZero + i) {
+            tempCodePointZero = -1;
+            break;
         }
     }
     fCodePointZero = tempCodePointZero;