實現思路:
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 讀作 肆佰零壹 億 零壹佰零叄 萬 壹仟零壹拾叁 咱們先按每四位一組 從左到右,高位到低位分別 大聲朗讀 一下 肆佰零壹 單位是 億 壹佰零叄 單位是 萬 壹仟零壹拾叁 單位是 相當於沒有單位 很容易發現,每四位 只有 千位,百位,...