前提・実現したいこと
3719470337485912のような文字列をToCharArray();でchar型に変えた。
その後、int.Parse();で配列の要素を数値にして計算しようとしたがエラーになった。
char型だとint.Parse()は使えないのでしょうか?
どうにかして、計算できるようにする方法を教えて下さい!
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
int の最大値は 2147483647 です。
3719470337485912 はそれを超えているので int 型にはなりません。
long.Parse("3719470337485912"); のように、long 型に直してください。
ToCharArray() したものを int 型の配列に直すということであれば、
C#
1int[] array = "3719470337485912" 2 .ToCharArray() 3 .Select(a => int.Parse(a.ToString())) 4 .ToArray();
のように char 型を一度 string に直してください。
投稿2018/05/15 12:44
総合スコア28673
0
char[] を string に変換し、int64.Parse でint64 に変換のテですねー
んで、「char string 変換」でぐぐればやりかたでてきますねー
投稿2018/05/15 12:39
編集2018/05/15 12:41総合スコア88163
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
ベストアンサー
.int.Parse()
の引数の型はString
なのでchar
は使用できません。
ToCharArray();を使ってchar
型に変えるのではなく、そのままString
型でint.Parse()
を使用してください。
また、処理の途中で、char
型をString
型に変換したい場合は new string()
を使いましょう。
(質問欄にある3719470337485912をint.Parse()で変換するとオーバーフローしますが....)
一応、ソースコードを載せておきます。
C#
1using System; 2public class Hello{ 3 public static void Main(){ 4 string line = "136"; 5 int n = int.Parse(line); 6 System.Console.WriteLine(n); 7 } 8}
C#
1using System; 2public class Hello{ 3 public static void Main(){ 4 5 char []c = new char[3]; 6 c[0] = '1'; 7 c[1] = '3'; 8 c[2] = '6'; 9 string line = new string(c); 10 int n = int.Parse(line); 11 System.Console.WriteLine(n); 12 } 13}
投稿2018/05/15 12:32
編集2018/05/15 12:44
退会済みユーザー
総合スコア0
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/27 09:08