全角半角変換

数値を入力する欄に全角文字を入力されたら、半角に変換して格納(計算も)する、という仕様で入力画面を作った(つもり)。マイナス記号ももちろん半角に変換する。ところがこれがうまくいかない。何故?ということで調べてみたら、全角のマイナスではなく長音記号(のばすヤツね。これ。ー)を半角のマイナスに変換していて、全角のマイナスは変換していなかったというオチだった。日本語を入力する際に長音かマイナスか、どちらに変換されるかは文脈によって変わるので、あと長音記号かマイナス記号かはゴシック体だと分からないので、両方とも半角のマイナスに変換するようにプログラムを変更して終了。そういうオチだったのか。なるほど。結構笑えた。