Преобразование строки в удвоение без разбора или трипарса в C # - PullRequest
0 голосов
/ 07 марта 2019

Как я могу преобразовать строку в double, используя метод, который не включает синтаксический анализ или tryparse? У меня есть программа для преобразования строки в длинную, будет ли она одинаковой для двойной? Я полный новичок.

Фрагменты кода из комментария OP ниже:

public static bool isLong(string s) { 
  bool n = true; 
  int a = 0; 
  s = s.Trim(); 
  for (a = 0; (a < s.Length); a = a + 1) { 
    n = n && ((s[a] >= '0') && (s[a] <= '9')); 
  } 
  return (n); 
} 

public static long toLong(string s) { 
  long ret = 0; 
  int a; 
  s = s.Trim(); 
  if (isLong(s)) { 
    for (a = 0; (a< s.Length); a = a + 1) { 
      ret = (ret * 10) + (s[i] - '0'); 
    } 
  } else { 
  } 
  return (ret); 
} 

1 Ответ

0 голосов
/ 08 марта 2019

Думаю, теперь я понимаю вопрос.Если да, то ответ да, вроде.

long - целочисленный тип, поэтому обработка одной цифры за раз довольно проста.

double - это плавающий десятичный тип, так что выНужно найти способ справиться с десятичным периодом в середине.

Это классное задание или что-то, где вы обязательно должны написать этот код самостоятельно?Если нет, рассмотрите возможность использования библиотечных функций, которые уже существуют для этой цели, таких как stod: http://www.cplusplus.com/reference/string/stod/

...