日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Character.digit()详解

發布時間:2023/12/16 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Character.digit()详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java.lang.Character.digit(char ch, int radix)方法 :

在指定的基數返回字符ch的數值,如果基數是不在范圍內MIN_RADIX≤基數≤MAX_RADIX或如果該值的通道是不是一個有效的數字在指定的基數-1,則返回。

public final class Character implements java.io.Serializable, Comparable<Character> {public static final int MIN_RADIX = 2;public static final int MAX_RADIX = 36; }

也就是說radix的賦值范圍2<=radix<=36,任何這個范圍外的值,返回值都為-1(這個是必要條件,下面幾種情況必須建立在此條件基礎上)

?

以下是如果至少有一個字符是一個有效的數字:

方法isDigit為true的字符和Unicode字符的十進制數值(或分解的單字符)小于指定的基數。在這種情況下的十進制數字值被返回。

參數ch為數字字符時,若參數ch小于參數radix,則返回參數ch的整數類型。否則返回-1

int digit = Character.digit('0', 2); 返回值 0int digit2 = Character.digit('9', 36); 返回值 9

返回值范圍0~9

該字符是一個大寫拉丁字母'A'到'Z'和它的代碼是小于基數+'A' - 10。在這種情況下,ch - 'A'+10返回。

參數ch為大寫字母A~Z時(參考ASCII碼表,十進制取值范圍在65~90),若參數ch的十進制數小于參數(radix+55),則返回參數(ch-55)

int digit = Character.digit('A', 11); 返回值 10 int digit2 = Character.digit('Z', 36); 返回值 35

此處ch參數最小是A,所以要保證不返回-1,則參數radix必須大于10(且小于等于36),也就是,radix的取值范圍11~36

結果返回值范圍在10~35

?

剩下三種情況:

字符的小寫拉丁字母'a'到'z'和它的代碼小于radix+'A' - 10。在這種情況下,ch - 'a'+10返回。

字符是一個全角大寫拉丁字母A('\ uFF21')到Z('\ uFF3A“)和它的代碼小于radix+'\ uFF21” - 10。在這種情況下,ch?- '\ uFF21'+ 10返回。

該字符是一個小寫拉丁字母的全角('\ uFF41')到Z('\ uFF5A“),且它的代碼小于radix+'\ uFF41” - 10。在這種情況下,ch - '\ uFF41'+10返回。

這三種情況和上面這種情況相同,結果返回值范圍在10~35

還有一個方法,java.lang.Character.digit(int ch, int radix),參數ch取值為A~Z,a~z的十進制數,返回結果與字母相同

總結一下,?Character.digit()在取值正確的范圍下,返回值在0~35之間,返回值若是0~9之間,則參數ch必為0~9的數字字符串,返回值在10~35之間,則參數必為字母。

radix中文翻譯是基數,好像部分文檔里也翻譯為進制,總之這個方法是把數字字符串和字母(忽略大小寫)轉換成0~35之間的一個數而已

總結

以上是生活随笔為你收集整理的Character.digit()详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。