Char.toInt()
は、数値ではなく文字のASCIIコードを返します。では、どうやってCharを正しい数値の整数に変換するのですか?数字Char(0-9)を数値に変換するにはどうすればよいですか?
答えて
回答:
あなたはtoInt()
によって返されたASCIIコードから48をsubstractsチャークラスの拡張機能を作成することができます。これは、あなたに文字の適切な数値を与えるでしょう!
fun Char.getNumericValue(): Int {
if (this !in '0'..'9') {
throw NumberFormatException()
}
return this.toInt() - '0'.toInt()
}
isDigitは必ずしも '0-9'ではない文字に対して' true'を返すので、これは技術的には間違いです。 '1 '、' 'ARABIC-INDIC DIGIT ONE'(U + 0661)'、**は数字**ですが、toInt() - 48は代わりに1585を返します。代わりに 'this '' 0 '..' 9''を代わりに使いたいかもしれません。 – Moira
ありがとう、あなたのフィードバックに応じて答えを更新しました。 – Incinerator
また、それはString
に変換し、より明白であるかもしれないtoInt()
を使用することができます。 JVM上
fun Char.getNumericValue(): Int {
if (!isDigit()) {
throw NumberFormatException()
}
return this.toString().toInt()
}
確かに、私は操作を何回も実行する必要があると効率的ではないと思いますか?私が間違っているなら、私を修正してください! – Incinerator
- 1. 16ビットのUCS-2整数値をcharに変換するにはどうすればよいですか?
- 2. 文字列の16進値を数値に変換するにはどうすればよいですか?
- 3. char *をdouble *に変換するにはどうすればよいですか?
- 4. * charを_TCHARに変換するにはどうすればよいですか?
- 5. CharをIntに変換するにはどうすればよいですか?
- 6. wstringstreamをchar *に変換するにはどうすればよいですか?
- 7. Ocaml - int変数の値を文字列に変換するにはどうすればよいですか?
- 8. 数字の数字をASCIIバイトに変換するにはどうすればよいですか?
- 9. 文字エスケープシーケンスを含む文字列をcharに変換するにはどうすればよいですか?
- 10. 列値を文字列から小数点に変換するにはどうすればよいですか?
- 11. ANSI文字(char)からUnicode文字(wchar_t)に変換するにはどうすればよいですか?
- 12. 文字列のリストを数値に変換するにはどうすればよいですか?
- 13. 16進文字列を16進数値に変換するにはどうすればよいですか?
- 14. PostgreSQL(9.1)関数内で文字を整数に変換するにはどうすればよいですか?
- 15. char *の値を変更するにはどうすればよいですか?
- 16. 変数を使用して文字列をsubstrに変換し、SSISで数値型に変換するにはどうすればよいですか?
- 17. C++でchar文字を数値に変換しますか?
- 18. C++でchar配列を文字列に変換するにはどうすればよいですか?
- 19. IOrderedEnumerable <char>をC#で文字列に変換するにはどうすればよいですか?
- 20. 特定の形式の数値を整数に変換するにはどうすればよいですか?
- 21. 1文字をstrlen = 1のchar *に変換するにはどうすればよいですか?
- 22. CharArray/Array <Char>を文字列に変換するにはどうすればよいですか?
- 23. Rubyで文字列を変数に変換するにはどうすればよいですか?
- 24. C#で文字列を変数名に変換するにはどうすればよいですか?
- 25. charベクトルをchar配列に変換するにはどうすればよいですか?
- 26. Django ORMでフィールド値を数値型に変換するにはどうすればよいですか?
- 27. 文字を数字に変換するにはどうすればよいですか?
- 28. charを実際の値に変換するにはどうすればよいですか?
- 29. 文字列をJavaScriptの数値演算子に変換するにはどうすればいいですか?
- 30. PHP文字列値をアンドロイド文字列値に変換するにはどうすればよいですか?
が 'あるjava.lang.Character.getNumericValue()':https://stackoverflow.com/questions/4968323/java-parse-int-value-from-a-char/21441921# 21441921 – Vadzim
私は、リンクされたdupの質問はより具体的で、これを重複して閉じるために不適切なタイトルが付けられていると思います。 – Vadzim