C# 一个很长的字符串必须转换成数字形式。可以适当地使用什么数据类型?
我的程序是将字符串解码成数字,并对这个数字执行一些操作 下面的程序适用于小字符串。处理大型段落(在本例中作为输入)的更好方法是什么C# 一个很长的字符串必须转换成数字形式。可以适当地使用什么数据类型?,c#,string,int,long-integer,C#,String,Int,Long Integer,我的程序是将字符串解码成数字,并对这个数字执行一些操作 下面的程序适用于小字符串。处理大型段落(在本例中作为输入)的更好方法是什么 publicstaticvoidmain() { ///编码字符串-检查整除性 WriteLine(“输入小写拉丁字母('a'-'i')”; string originalString=Convert.ToString(Console.ReadLine()); bool chkValue=Regex.IsMatch(originalString,@“^[a-i]+$
publicstaticvoidmain()
{
///编码字符串-检查整除性
WriteLine(“输入小写拉丁字母('a'-'i')”;
string originalString=Convert.ToString(Console.ReadLine());
bool chkValue=Regex.IsMatch(originalString,@“^[a-i]+$”;
如果(!chkValue)
{
返回;
}
char[]originalchars=originalString.ToCharArray();
长解码数=0;
StringBuilder decoded=新StringBuilder();
//int stringLength=原始字符串长度;
for(int i=0;i
正如Steve提到的,BigInteger解决了我的问题。不确定您想在这里写什么,但是如果长字符串不够大,那么它的结构就存在了。对于小字符串,它真的工作得很好吗?你能在decodedString中生成100
?仅仅写“是”或“否”可能会产生误导。@Steve:谢谢BigInteger
修复了我的问题。请将此作为答案添加,而不是将解决方案保留在注释中。它还有助于提高您的声誉。:-)@加里亚尼
public static void Main()
{
///<summary>Encoded String- Checking divisibility</summary>
Console.WriteLine("Enter Lowercase Latin letters ( 'a'-'i' )");
string originalString = Convert.ToString(Console.ReadLine());
bool chkValue = Regex.IsMatch(originalString, @"^[a-i]+$");
if(!chkValue)
{
return;
}
char[] originalchars = originalString.ToCharArray();
long decodedNumber=0;
StringBuilder decoded = new StringBuilder();
//int stringLength = originalString.Length;
for (int i = 0; i < originalchars.Length; i++)
{
decoded.Append(Convert.ToInt32(originalchars[i] - 96));
}
Console.WriteLine(decoded);
string decodedString = decoded.ToString();
bool parseResult = long.TryParse(decodedString ,out decodedNumber);
if (parseResult == true)
{
if (decodedNumber % 6 == 0)
Console.WriteLine("YES");
else
Console.WriteLine("NO");
}
Console.ReadLine();
}