在C#中将字符串转换为double而不进行解析或tryparse

时间:2019-03-07 04:00:35

标签: string parsing double

如何使用不包含parse或tryparse的方法将字符串转换为double?我有将字符串转换为long的程序,double是否会相同?我是一个完整的新手。

以下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 :(得分:0)

我想我现在已经明白了这个问题。如果是这样,答案是肯定的。

long是整数类型,因此一次处理一位数字非常简单。

double是浮点十进制类型,因此您必须找出一种处理中间小数点的方法。

这是类分配还是您绝对必须自己编写此代码的东西?如果没有,请考虑使用为此目的已经存在的库函数,例如stod:http://www.cplusplus.com/reference/string/stod/