|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
另外,小型软件代码重用价值低,没有必要跨平台;大型软件,有严格的规划、部署,不可以随意跨平台。中文为了营业的必要无聊之极的写了一个输入中文数字的办法,效力上委曲过得往,假如你有甚么更好的办法,跟贴吧。
1
2/**////<summary>
3///中文计数
4///</summary>
5///<paramname="num">[1-99999]</param>
6///<returns></returns>
7publicstaticstringNumToChineseNumStr(intnum)
8{
9if(num<=0||num>99999)
10thrownewArgumentException("num");
11string[]GradeChar=newstring[]{"","十","百","千","万"};
12string[]DigitChar=newstring[]{"一","二","三","四","五","六","七","八","九"};
13charzero=零;
14
15intlength=(int)Math.Log10(num)+1;
16StringBuilderoutput=newStringBuilder(length);
17int[]input=newint[length];
18intindex=-1;
19while(++index!=length)
20{
21input[index]=(num/(length-index==1?1:(int)Math.Pow(10,length-index-1)))%10;
22}
23
24boolneedFix=false;
25if(input.Length==2&&input[0]==1)
26needFix=true;
27
28for(intpos=0;pos<input.Length;pos++)
29{
30if(input[pos]==0)
31{
32if(output[output.Length-1]!=zero)
33output.Append(zero);
34continue;
35}
36elseif(!(pos==0&&needFix))
37{
38output.Append(DigitChar[input[pos]-1]);
39}
40output.Append(GradeChar[input.Length-pos-1]);
41}
42if(output[output.Length-1]==zero)
43output.Remove(output.Length-1,1);
44returnoutput.ToString();
45}
46
我认为,可以通过更加简单的首次编译,而增加第二次编译的负担,来提高java的运行效率。只是将java源代码进行简单的等价转换,而不假设编译成某种虚拟机器的目标格式,而由本地编译器针对性的二次编译。 |
|