您目前已離線,請等候您的網際網路重新連線

如何將全形數字轉換為半形數字

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:225136
結論
全形 Unicode 數字 (U + FF10-U + FF19) 使用WideCharToMultiByte轉換成標準的半形數字 (U + 0030-U + 0039) ,在Windows 95 與 98 上的轉換會失敗。其中一個應該使用旗標 LCMAP_HALFWIDTH API LCMapString 全形字元轉換為半形字元。
其他相關資訊
因為此 API 的 W 版本上 Windows 95 及 Windows 98,您需要將全形字元從 Unicode 轉換成正確的 DBCS 字串,然後呼叫 LCMapString 進行轉換無法運作。以下是使用傳統中文、 簡化中文、 日文和韓文中的全形 Unicode 數字的範例:
#include <stdio.h>#include <tchar.h>#include <windows.h>void main(void){	WCHAR T[2] = {65301, 0};	TCHAR dbcs[3], conv[3];	WideCharToMultiByte(CP_ACP, 0, T, -1, dbcs, sizeof(dbcs), NULL, NULL);	int nRes = LCMapString(LOCALE_USER_DEFAULT, LCMAP_HALFWIDTH,                                                       dbcs,sizeof(dbcs),conv,sizeof(conv));	printf("%s\n",conv);}
若要執行轉換工作對於 Windows 95 及 Windows 98 中,安裝其中一個的四個字碼頁 (為繁體中文的簡體中文,932 日文和韓文 949 936 950) 系統上,並明確地設定網頁和地區設定 ID 參數程式碼在上述的 API 呼叫。
参考
如需有關安裝的字碼頁的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
164948 如何安裝字碼頁

警告:本文為自動翻譯

內容

文章識別碼:225136 - 最後檢閱時間:03/04/2014 02:17:00 - 修訂: 6.0

  • kbdsxglobal2003swept kbdbcs kbhowto kblocalization kbnls kbunicode kbmt KB225136 KbMtzh
意見反應