modStrTools 函式庫 風禹科技驗證有限公司 網站 提供 .Net 原始碼

SetChineseNumber 函數

說明

將數值轉換為中文數字

本函數之引數列表

引數 型態 位元組 選項 預設值 說明
vNumber Object - 必須 (無) 數值變數
lFlags enuChineseFlags 4 可省略 CF_Default 轉換中文文字字串旗標:
常數名 數值 說明
CF_Default 0 預設值
CF_Little 0 中文小寫
CF_Big 1 中文大寫
CF_Number 2 中文數字
CF_Unit 4 中文單位
CF_Little_Unit 8 &H08,中文單位小寫
CF_Big_Unit 16 &H10,中文單位大寫
CF_KeepZero 32 &H20,保留中文數值內之零值
CF_Add_Comma 65536 加入千位符號
CF_Unit_Little 4 CF_Unit Or CF_Little
CF_Unit_Big 5 CF_Unit Or CF_Big
CF_Number_Little 2 中文數字小寫,CF_Number Or CF_Little
CF_Number_Big 3 中文數字大寫,CF_Number Or CF_Big

傳回值

字串

範例

Debug.WriteLine(SetChineseNumber(CDec("1234567890123456789012345")))
Debug.WriteLine(SetChineseNumber(CDec("1234567890123456789012345"), modStrTools.enuChineseFlags.CF_Add_Comma))
Debug.WriteLine(SetChineseNumber(CDec("1234567890123456789012345"), modStrTools.enuChineseFlags.CF_Number_Big))
Debug.WriteLine(SetChineseNumber(CDec("1234567890123456789012345"), modStrTools.enuChineseFlags.CF_Number_Big Or modStrTools.enuChineseFlags.CF_Big_Unit Or modStrTools.enuChineseFlags.CF_KeepZero))
Debug.WriteLine(SetChineseNumber(CDec("1234567890123456789012345"), modStrTools.enuChineseFlags.CF_Little_Unit))

傳回
一二三四五六七八九○一二三四五六七八九○一二三四五
一、二三四、五六七、八九○、一二三、四五六、七八九、○一二、三四五
壹貳參肆伍陸柒捌玖零壹貳參肆伍陸柒捌玖零壹貳參肆伍
壹杼貳仟參佰肆拾伍垓陸仟柒佰捌拾玖京零仟壹佰貳拾參兆肆仟伍佰陸拾柒億捌仟玖佰零拾壹萬貳仟參佰肆拾伍
一杼二千三百四十五垓六千七百八十九京一百二十三兆四千五百六十七億八千九百一萬二千三百四十五

更進一步

本函數游數值轉換後之中文關鍵字說明如下:

  1. 萬級單位名稱:個、萬、億、兆、京、垓、杼、穰、溝、澗、正、載、極、恆河沙、阿僧祇、那由他、不可思議、無量、大數。每一級單位相差一萬倍。
  2. 十級單位小寫名稱:十、百、千。每一級單位相差十倍。
  3. 十級單位大寫名稱:拾、佰、仟。每一級單位相差十倍。
  4. 數字小寫:○、一、二、三、四、五、六、七、八、九。
  5. 數字大寫:零、壹、貳、參、肆、伍、陸、柒、捌、玖。
  6. 千位符號:、。

註:目前不支援小數點以下,一方面是無此需求,一方面也不知道單位名稱,若有完整訊息,請提供給我參考。預定關鍵字:•、毛、角、分。

若設定中文單位大寫或小寫旗標時,千位符號旗標將被放棄不使用,請參照範例。

基本條件

Visual Studio .Net 2002 以後相容版本 | StrTools.vb

請參閱

modStrTools 函式庫 | GetChineseNumber