public void GetNumericValue_Invalid() { AssertExtensions.Throws <ArgumentNullException>("s", () => CharUnicodeInfo.GetNumericValue(null, 0)); AssertExtensions.Throws <ArgumentOutOfRangeException>("index", () => CharUnicodeInfo.GetNumericValue("abc", -1)); AssertExtensions.Throws <ArgumentOutOfRangeException>("index", () => CharUnicodeInfo.GetNumericValue("abc", 3)); AssertExtensions.Throws <ArgumentOutOfRangeException>("index", () => CharUnicodeInfo.GetNumericValue("", 0)); }
public static double ConvertUnicodeStringToDecimal(string amountString) { string parsedString = ""; for (int i = 0; i < amountString.Length; i++) { char currChar = amountString[i]; if (currChar != '.') { parsedString += CharUnicodeInfo.GetNumericValue(currChar); } else { parsedString += currChar; } } if (parsedString.Length > 0) { return(double.Parse(parsedString)); } else { return(0); } }
public bool PosTest3() { bool retVal = true; Char ch = '9'; Double expectedValue = 9; Double actualValue; TestLibrary.TestFramework.BeginScenario("PosTest1:Test the method with char '9'"); try { actualValue = CharUnicodeInfo.GetNumericValue(ch); if (expectedValue != actualValue) { TestLibrary.TestFramework.LogError("005", "ExpectedValue(" + expectedValue + ") !=ActualValue(" + actualValue + ")"); retVal = false; } } catch (Exception e) { TestLibrary.TestFramework.LogError("006", "Unexpected exception:" + e); retVal = false; } return(retVal); }
public static string GetUnicodeValue(char c) { var s = string.Format(" {0,-5}", CharUnicodeInfo.GetNumericValue(c)); Debug.Log(s); return(s); }
public bool PosTest2() { bool retVal = true; String str = "\009aZ\u0f33"; Double expectedValue = 0; Double actualValue; TestLibrary.TestFramework.BeginScenario("PosTest1:Test the method with char '0'"); try { actualValue = CharUnicodeInfo.GetNumericValue(str, 1); if (expectedValue != actualValue) { TestLibrary.TestFramework.LogError("003", "ExpectedValue(" + expectedValue + ") !=ActualValue(" + actualValue + ")"); retVal = false; } } catch (Exception e) { TestLibrary.TestFramework.LogError("004", "Unexpected exception:" + e); retVal = false; } return(retVal); }
public void GetNumericValue(string s, double[] expected) { for (int i = 0; i < expected.Length; i++) { Assert.Equal(expected[i], CharUnicodeInfo.GetNumericValue(s, i)); } }
public static void PrintProperties(char c) { Console.Write(" {0,-3}", c); Console.Write(" {0,-5}", CharUnicodeInfo.GetNumericValue(c)); Console.Write(" {0,-5}", CharUnicodeInfo.GetDigitValue(c)); Console.Write(" {0,-5}", CharUnicodeInfo.GetDecimalDigitValue(c)); Console.WriteLine("{0}", CharUnicodeInfo.GetUnicodeCategory(c)); }
public static double GetNumericValue(string s, int index) { if (s == null) { throw new ArgumentNullException(nameof(s)); } if (((uint)index) >= ((uint)s.Length)) { throw new ArgumentOutOfRangeException(nameof(index)); } return(CharUnicodeInfo.GetNumericValue(s, index)); }
public void GetNumericValue_Char() { for (int i = 0; i <= char.MaxValue; i++) { char ch = (char)i; CodePoint knownGoodData = UnicodeData.GetData(ch); double actualValue = CharUnicodeInfo.GetNumericValue(ch); AssertEqual(knownGoodData.NumericValue, actualValue, nameof(CharUnicodeInfo.GetNumericValue), knownGoodData); } }
public static double GetNumericValue(string s, int index) { if (s == null) { throw new ArgumentNullException("s"); } if (index >= s.Length) { throw new ArgumentOutOfRangeException("index"); } return(CharUnicodeInfo.GetNumericValue(s, index)); }
public static void Main() { // The String to get information for. String s = "a9\u0393\u00B2\u00BC\u0BEF\u0BF0\u2788"; Console.WriteLine("String: {0}", s); // Print the values for each of the characters in the string. Console.WriteLine("index c Num Dig Dec UnicodeCategory"); for (int i = 0; i < s.Length; i++) { Console.Write("{0,-5} {1,-3}", i, s[i]); Console.Write(" {0,-5}", CharUnicodeInfo.GetNumericValue(s, i)); Console.Write(" {0,-5}", CharUnicodeInfo.GetDigitValue(s, i)); Console.Write(" {0,-5}", CharUnicodeInfo.GetDecimalDigitValue(s, i)); Console.WriteLine("{0}", CharUnicodeInfo.GetUnicodeCategory(s, i)); } }
private static int findDigits(int n) { int divisors = 0; foreach (var item in n.ToString().ToCharArray()) { int num = (int)CharUnicodeInfo.GetNumericValue(item); if (num == 0) { continue; } if (n % num == 0) { divisors++; } } return(divisors); }
public Evaluation Evaluate(ExpressionOptions options, Token token) { if (token is ListToken listToken) { return(EvaluateList(options, listToken.Children)); } if (token is ValueToken valueToken) { string value = valueToken.Value; switch (valueToken.Type) { case TokenType.DecimalDigit: return(new Evaluation(CharUnicodeInfo.GetNumericValue(value[0]))); case TokenType.DecimalNumber: if (value.Length == 1) { return(new Evaluation(CharUnicodeInfo.GetNumericValue(value[0]))); } else { var parsed = double.Parse(value, NumberStyles.Float, CultureInfo.InvariantCulture); return(new Evaluation(parsed)); } case TokenType.Name: return(ResolveReference.Invoke(valueToken.Value)); default: return(new Evaluation(EErrorCode.SyntaxError)); } } else if (token is FunctionToken funcToken) { return(EvaluateFunction(options, funcToken)); } return(new Evaluation(EErrorCode.Undefined)); }
public bool NegTest3() { bool retVal = true; String str = TestLibrary.Generator.GetString(-55, false, 1, 5); Double actureValue = 0; TestLibrary.TestFramework.BeginScenario("NegTest1:Invoke the method with index out of right range"); try { actureValue = CharUnicodeInfo.GetNumericValue(str, 5); TestLibrary.TestFramework.LogError("014", "No ArgumentNullExcepthion thrown out expected."); retVal = false; } catch (ArgumentOutOfRangeException) { } catch (Exception e) { TestLibrary.TestFramework.LogError("015", "Unexpected exception:" + e); retVal = false; } return(retVal); }
public bool NegTest1() { bool retVal = true; String str = null; Double actureValue = 0; TestLibrary.TestFramework.BeginScenario("NegTest1:Invoke the method with null string"); try { actureValue = CharUnicodeInfo.GetNumericValue(str, 0); TestLibrary.TestFramework.LogError("013", "No ArgumentNullExcepthion thrown out expected."); retVal = false; } catch (ArgumentNullException) { } catch (Exception e) { TestLibrary.TestFramework.LogError("014", "Unexpected exception:" + e); retVal = false; } return(retVal); }
internal string MakeAnchorName(string heading) { /* To be a valid anchor name, first character *must* * be a letter. Subsequent charaters may additionally include: * numbers, '-', '_', ':' and '.' * */ var plainText = _htmlStripper.RemoveHtml(heading).Normalize(NormalizationForm.FormD); if (String.IsNullOrWhiteSpace(plainText)) { return(String.Empty); } var anchorName = new StringBuilder(); var enumerator = plainText.GetEnumerator(); enumerator.Reset(); // First character must be a letter while (enumerator.MoveNext()) { if (IsRomanLetter(enumerator.Current)) { anchorName.Append(enumerator.Current); break; } } while (enumerator.MoveNext()) { char c = enumerator.Current; var lastCharacter = anchorName[anchorName.Length - 1]; switch (CharUnicodeInfo.GetUnicodeCategory(c)) { case UnicodeCategory.UppercaseLetter: case UnicodeCategory.LowercaseLetter: if (IsRomanLetter(c)) { anchorName.Append(c); } //TODO: Replace non roman characters with transliterated version break; case UnicodeCategory.DecimalDigitNumber: case UnicodeCategory.OtherNumber: double number = CharUnicodeInfo.GetNumericValue(c); if (number != -1.0) { anchorName.Append(number); } break; case UnicodeCategory.ConnectorPunctuation: case UnicodeCategory.DashPunctuation: if (lastCharacter == '_') { anchorName[anchorName.Length - 1] = '-'; } else if (lastCharacter != '-') { anchorName.Append('-'); } break; case UnicodeCategory.OtherPunctuation: case UnicodeCategory.SpaceSeparator: if ((lastCharacter != '_') && (lastCharacter != '-')) { anchorName.Append('_'); } break; } } while (anchorName.Length != 0 && !char.IsLetterOrDigit(anchorName[anchorName.Length - 1])) { anchorName.Remove(anchorName.Length - 1, 1); } return(anchorName.Length == 0 ? "T_" + _random.Next(1000, int.MaxValue) : anchorName.ToString()); }
public static double GetNumericValue(char c) { return(CharUnicodeInfo.GetNumericValue(c)); }
public void GetNumericValue(char ch, double expected) { double actual = CharUnicodeInfo.GetNumericValue(ch); Assert.True(expected == actual, ErrorMessage(ch, expected, actual)); }
public static Double GetNumericValue(Rune value) => CharUnicodeInfo.GetNumericValue(value.ToString(), 0);