private static void ZeroTrimEnd (StringBuilder sb, bool canEmpty) { int len = 0; for (int i = sb.Length - 1; (canEmpty ? i >= 0 : i > 0); i--) { if (sb [i] != '0') break; len++; } if (len > 0) sb.Remove (sb.Length - len, len); }