그러나 로마 숫자 문자열이 될 것입니다 ("III", "IV") ... 일반적으로
, 당신은 로마 숫자 string
의하지 char
의 경향이 있음을 정확합니다.
그러나, 어떤 특정 로마 숫자 — Ⅰ, Ⅱ, Ⅲ, Ⅳ, ... Ⅻ, Ⅼ, Ⅽ, Ⅾ, Ⅿ뿐만 아니라 그들의 소문자 버전 — 유니 다하고있다 (비 대리) 코드 포인트 . 나는 방금 그들을 사용했다! 자세한 내용은 다음 리소스를 참조하십시오.
참고 한 .NET System.Char
에 맞는 등.
...이 메소드에 로마 숫자를 입력하면 어떻게 되나요? 여기
은 VB.NET의 예는 다음과 같습니다
Dim romanNumeralFour As Char = ChrW(&H2163) ' or: "Ⅳ"c
Assert.IsTrue(Char.IsNumber(romanNumeralFour))
그리고 여기에 C# 버전입니다 : Hans Passant commented above처럼
const char romanNumeralFour = '\u2163'; // or: 'Ⅳ'
Assert.IsTrue(char.IsNumber(romanNumeralFour));
, 당신이 사용하는 경우이 작동하지 않습니다 라틴 문자, 예 : M
; 로마 숫자 Ⅿ
은 다른 문자 일 수 있습니다 (표시 글꼴에 따라 다름).
그 밖의 무엇이 입력 될 수 있는지 궁금합니다. 숫자로 간주되지 않을 수도 있습니다.
그 방법은 이러한 유니 코드 문자 범주에서 모든 문자에 대한 True
를 반환한다고 :
Microsoft의 backcompat은 전설적입니다. 그러나 아니요, Char.IsNumber ("V"c)는 False를 반환합니다. U + 2164와 같이 유니 코드의 전용 글리프를 사용해야 작동합니다. 일명 "Ⅴ"c. –