private bool ParseYoungsModulus(string s, Qualities q) { const string UNIT = "GPa", EST = "est."; ValueQualifier vq = ValueQualifier.None; int n = s.IndexOf(EST); if (n > 0) { vq = ValueQualifier.Estimated; s = s.Substring(n + EST.Length).Trim(); } n = s.IndexOf(UNIT); if (n > 0) { s = s.Substring(0, n - 1).Trim(); double d, d1; if (DoubleValue.TryParseRange(s, out d, out d1)) { d = (d + d1) / 2; } else { UnitValue.TryParse(s, out d); } if (!Double.IsNaN(d)) { q.YoungsModulus = new UnitValue(d, UNIT, vq); return(true); } } return(false); }
private bool ParseShearModulus(string s, Qualities q) { const string UNIT = "GPa"; s = StringEx.RemoveReferences(s); double d; if (s.IndexOf("–") > 0) { double d1, d2; if (DoubleValue.TryParseRange(s, out d1, out d2)) { d = (d1 + d2) / 2; q.ShearModulus = new UnitValue(d, UNIT); } } return(ParseDU(s, UNIT, q)); }
private bool ParseVickersHardness(string s, Qualities q) { string UNIT = "MPa"; int n = s.IndexOf(UNIT); if (n > 0) { s = s.Substring(0, n - 1).Trim(); double d1, d2; if (DoubleValue.TryParseRange(s, out d1, out d2)) { q.VickersHardness = new UnitValueRange(d1, d2, UNIT); } else if (UnitValue.TryParse(s, out d1)) { q.VickersHardness = new UnitValueRange(d1, d1, UNIT); } } return(q.VickersHardness != null); }