double 変数からすべての数値を取得し、小数点とマイナスを削除し、すべての数字を個別に追加するこのプログラムがあります。ここにあります:
static void Main(string[] args)
{
double input = double.Parse(Console.ReadLine());
char[] chrArr = input.ToString().ToCharArray();
input = 0;
foreach (var ch in chrArr)
{
string somestring = Convert.ToString(ch);
int someint = 0;
bool z = int.TryParse(somestring, out someint);
if (z == true)
{
input += (ch - '0');
}
}
問題は、たとえば、「9999999999999999999999999999999....」などと入力すると、次のように表され1.0E+254
、プログラムが追加さ1+0+2+5+4
れて終了することです。これを適切に機能させる効率的な方法はありますか? double の代わりに string を使用してみましたが、動作が遅すぎます..