數字轉換成中文大寫

2021-10-09 08:51:52 字數 2296 閱讀 6686

實現思路:

1.輸入的是一串特定的字串,格式:1111.11,

2.拿到內容之後,將內容以小數點分成兩部分

3.定義好長度對應的單位,比如 兩位數是拾,定義好數值對應的中文大寫字元,

4.根據字元的長度迴圈轉換中文大寫以及新增對應的單位

原始碼如下:

public class convertochinesepartutil ;

//數字單位

private string source2 = ;

//建構函式

public convertochinesepartutil(double number)

//轉換整數部分

private string integertochinese()

//當整數部分的長度為1時

if (intpartlen == 1) else else

//處理第乙個數

if (index == 0) else if (index == intchars.length - 1 && intchars[index] == '0')

convertresult += "元";

break;

//處理最後乙個數字,當最後乙個數字不為零時

} else if (index == intchars.length - 1 && intchars[index] != '0') else

convertresult += "億";

//當前處於億位時,並且當前字元不是0時

} else if (source2[position] == "億" && !bitstate) else if (source2[position] == "萬" && bitstate)

}convertresult += "萬";

//當前處於萬位時,並且當前字元不是0時

} else if (source2[position] == "萬" && !bitstate) else else //當前字元是0時

convertresult += source1[0];}}

}}

//返回最終整數部分轉換結果

return convertresult;}}

/*** 演算法:1.通過long強制轉換,取得整數部分integerpart

* * 2.通過number-integerpart取得小數部分decimalpart,decimalpart * 100用於保留兩位

* * 小數,由於計算處理double精度問題,用math.round函式圓整。小數部分可以出0,1,12,50

* * //轉換小數部分

*/private string decimaltochinese() else if (charlen == 1 && decimalchars[0] != '0') else if (decimalchars[1] != '0') else

return result;

}/**

* 轉換方法

* //外部介面

** @return string

*/public string converttochinese()

/*** 轉換方法

** @param bigdecimal

* @return

*/public static string numbertostring(bigdecimal bigdecimal)

if (bigdecimal.compareto(bigdecimal.zero) < 0)

convertochinesepartutil conver = new convertochinesepartutil(bigdecimal.doublevalue());

return head + conver.converttochinese();

}/**

* 轉換方法

** @param bigdecimal

* @return

*/public static string numbertostring(double bigdecimal)

if (bigdecimal < 0)

convertochinesepartutil conver = new convertochinesepartutil(bigdecimal.doublevalue());

return head + conver.converttochinese();

}public static void main(string args)

}

數字轉換成中文大寫

轉換數字金額主函式 包括小數 數字字串 轉換成中文大寫後的字串或者出錯資訊提示字串 public string convertsum string str 判斷是否是正數字字串 判斷字串 如果是數字,返回true,否則返回false public bool ispositvedecimal stri...

PHP數字金額轉換成中文大寫金額

封裝函式如下 數字金額轉換成中文大寫金額的函式 string int num 要轉換的小寫數字或小寫字串 return 大寫字母 小數字為兩位 function numtormb num i 0 c while 1 else 每次將最後一位數字轉化為中文 p1 substr c1,3 n,3 p2 ...

將天文數字轉換成中文大寫

思路非常簡單,且沒有任何位數限制 例如 401,0103,1013 讀作 肆佰零壹 億 零壹佰零叄 萬 壹仟零壹拾叁 咱們先按每四位一組 從左到右,高位到低位分別 大聲朗讀 一下 肆佰零壹 單位是 億 壹佰零叄 單位是 萬 壹仟零壹拾叁 單位是 相當於沒有單位 很容易發現,每四位 只有 千位,百位,...