[kotlin] Kotlin에서 String을 Long으로 변환하는 방법?

그래서, Long.valueOf(String s)나는 붙어있는 것과 같은 방법이 없기 때문에 .

Kotlin에서 String을 Long으로 변환하는 방법?



답변

1. string.toLong()

문자열을 [Long] 숫자로 구문 분석하고 결과를 리턴합니다.

@throws NumberFormatException 문자열이 유효한 숫자 표현이 아닌 경우.

2. string.toLongOrNull()

문자열을 [Long] 숫자로 구문 분석하고 결과 null
가 문자열이 유효한 숫자 표현이 아닌 경우를 리턴합니다 .

삼. str.toLong(10)

문자열을 [Long] 숫자로 구문 분석하고 결과를 리턴합니다.

@throws NumberFormatException 문자열이 유효한 숫자 표현이 아닌 경우.

@throws IllegalArgumentException [radix]가 문자열 대 숫자 변환에 유효한 기수가 아닌 경우.

public inline fun String.toLong(radix: Int): Long = java.lang.Long.parseLong(this, checkRadix(radix))

4. string.toLongOrNull(10)

문자열을 [Long] 숫자로 구문 분석하고 결과 null
가 문자열이 유효한 숫자 표현이 아닌 경우를 리턴합니다 .

@throws IllegalArgumentException [radix]가 문자열 대 숫자 변환에 유효한 기수가 아닌 경우.

public fun String.toLongOrNull(radix: Int): Long? {...}

5. java.lang.Long.valueOf(string)

public static Long valueOf(String s) throws NumberFormatException


답변

String 해당 확장 방법이 있습니다.

"10".toLong()


답변

확장 메소드는 String다른 기본 유형으로 구문 분석 할 수 있습니다. 아래 예 :


답변

참고 : 언급 한 답변 jet.String은 구식입니다. 현재 Kotlin (1.0)은 다음과 같습니다.

StringKotlin의 모든 사용자 는 이미 호출 할 수있는 확장 기능을 가지고 있습니다 toLong(). 특별한 것이 필요하지 않습니다. 그냥 사용하십시오.

에 대한 모든 확장 기능String 이 문서화되어 있습니다. API 참조 에서 표준 lib에 대한 다른 것을 찾을 수 있습니다.


답변

흥미 롭군. 다음과 같은 코드 :

val num = java.lang.Long.valueOf("2");
println(num);
println(num is kotlin.Long);

이 출력을 만듭니다.

2
true

Kotlin 은이 경우 java.lang.Long긴 프리미티브에서 kotlin.Long자동으로 변환 합니다. 따라서 솔루션이지만 java.lang 패키지 사용없이 도구를 보게되어 기쁩니다.


답변

실제로 ‘길이’도 확인해야하는 시간의 90 %가 유효하므로 다음이 필요합니다.

"10".toLongOrNull()

기본 유형의 각 ‘toLong’마다 ‘orNull’이 있으며 Kotlin과 함께 유효하지 않은 사례를 관리 할 수 ​​있습니까? 관용구.


답변

string.toLong ()

string변수는 어디에 있습니까 ?