プロが教えるわが家の防犯対策術!

半角の"A"から、倍角の"A"を求めるような、
関数、または、求め方を教えてください。

A 回答 (6件)

char ch = "A";



String ZENKAKU =
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

String HANKAKU
="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

for( int i = 0; i < HANKAKU.length(); i++ ) {

if ( ch == HANKAKU.charAt(i) ) {

ch = ZENKAKU.charAt(i);

}

}

私も以前仕事で使ったのですが、JavaではOSによる文字コードの違いをサポートしていないため、自分で作るしかありませんでした。
    • good
    • 0

ASCIIコードの範囲内でしたら、



char hankaku = 'A';
char zenkaku = (char)(hankaku + 0xFEE0);

でも良さそうな気もしますが、カナ文字とかも
含むのであれば、#4さんがおっしゃっている
ように別途テーブルを作る必要がありそうです。
    • good
    • 0

#2のものです。


JAVAをVB(A)と間違えました。
申し訳ございません。
カナまで視野に入れると、対応テーブルを作り検索せねばならないと思います。
http://homepage1.nifty.com/georgeMI/han2zen.html
Cですがご参考に。
半角側は0-255の中に収まるのですが、全角側がコード計算できるようにきれいに(規則正しく)対応してくれないと思います。それとカタカナの濁点・半濁点を全角では1字にするのが面倒でしょう。
    • good
    • 0

char ch;


...
if((半角の最小値)<=ch && ch<=(半角の最大値)){
ch = (char)(ch - (半角の最小値) + (全角Unicodeの最小値));
}

ではどうでしょうか。
なんか汚いけど、「どうせ文字コード依存の処理だ」ということで。

あ、それから、Unicodeの中では、半角アルファベットも全角アルファベットも
連続して載っていることが前提条件となっています。たぶんそうなっていたと思います。
(大文字小文字は別個に処理する必要があるかもしれません)
    • good
    • 0

=JIS(A1)


半角の英数カナ文字を全角にする。
これでどうですか。
    • good
    • 0

StringUtil を使ってるやるようですが・・・。


参考URLにあるソースが 動きますでしょうか?

参考URL:http://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/ja …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!