| 发表于:2007-02-09 11:29:5332楼 得分:0 |
下面的代码不是很周全,提供一个思路吧 function changnum(num as double) as string dim strnum as string, strnum1 as string, strnum2 as string dim strpos as string dim arr() as string dim i as integer, j as integer dim str as string strpos = "点,拾,佰,仟,万,拾,佰,仟,亿,拾,佰,仟,万,兆 " arr = split(strpos, ", ") strnum = format(num, "#.0000 ") strnum1 = left(strnum, instr(strnum, ". ") - 1) for i = len(strnum1) to 1 step -1 changnum = mid(strnum1, i, 1) & arr(j) & changnum j = j + 1 next i changnum = changnum & mid(strnum, instr(strnum, ". ") + 1) changnum = replace(changnum, "0 ", "零 ") changnum = replace(changnum, "1 ", "壹 ") changnum = replace(changnum, "2 ", "贰 ") changnum = replace(changnum, "3 ", "叁 ") changnum = replace(changnum, "4 ", "肆 ") changnum = replace(changnum, "5 ", "伍 ") changnum = replace(changnum, "6 ", "陆 ") changnum = replace(changnum, "7 ", "柒 ") changnum = replace(changnum, "8 ", "捌 ") changnum = replace(changnum, "9 ", "玖 ") '如果不用转换为中文语法,下面可以注释掉 changnum = replace(changnum, "零亿 ", "亿 ") changnum = replace(changnum, "零万 ", "零 ") changnum = replace(changnum, "零仟 ", "零 ") changnum = replace(changnum, "零佰 ", "零 ") changnum = replace(changnum, "零拾 ", "零 ") changnum = replace(changnum, "零零零零零零零零 ", "零 ") changnum = replace(changnum, "零零零零零零零 ", "零 ") changnum = replace(changnum, "零零零零零零 ", "零 ") changnum = replace(changnum, "零零零零零 ", "零 ") changnum = replace(changnum, "零零零零 ", "零 ") changnum = replace(changnum, "零零零 ", "零 ") changnum = replace(changnum, "零零 ", "零 ") end function | | |
|