1. 程式人生 > >Java將小寫金額轉換成大寫

Java將小寫金額轉換成大寫

public class Test {

	private static final String UNIT = "萬千佰拾億千佰拾萬千佰拾元角分";
	private static final String DIGIT = "零壹貳叄肆伍陸柒捌玖";
	private static final double MAX_VALUE = 9999999999999.99D;

	public static void main(String[] args) {
		System.out.println(change(0.01));
		System.out.println(change(5.36));
		System.out.println(change(100.00));
		System.out.println(change(8.80));
		System.out.println(change(1000000));
	}

	public static String change(double v) {
		if (v < 0 || v > MAX_VALUE) {
			return "引數非法!";
		}
		long l = Math.round(v * 100);
		if (l == 0) {
			return "零元整";
		}
		String strValue = l + "";
		// i用來控制數
		int i = 0;
		// j用來控制單位
		int j = UNIT.length() - strValue.length();
		String rs = "";
		boolean isZero = false;
		for (; i < strValue.length(); i++, j++) {
			char ch = strValue.charAt(i);
			if (ch == '0') {
				isZero = true;
				if (UNIT.charAt(j) == '億' || UNIT.charAt(j) == '萬'
						|| UNIT.charAt(j) == '元') {
					rs = rs + UNIT.charAt(j);
					isZero = false;
				}
			} else {
				if (isZero) {
					rs = rs + "零";
					isZero = false;
				}
				rs = rs + DIGIT.charAt(ch - '0') + UNIT.charAt(j);
			}
		}
//		if (!rs.endsWith("分")) {
//			rs = rs + "整";
//		}
		rs = rs.replaceAll("億萬", "億");
		return rs;
	}

}

相關推薦

Java小寫金額轉換大寫

public class Test { private static final String UNIT = "萬千佰拾億千佰拾萬千佰拾元角分"; private static final St

Java 小寫金額轉換大寫金額

將小寫金額轉換成大寫金額 例如:110.00轉換後為 壹佰壹拾圓整 程式碼如下 /** * 將小寫金額轉換為大寫 * * @param amount * 110.00 * @retu

JavaScript小寫金額轉換大寫

cap i++ prefix ++ 轉換成 num tro 金額轉換 sna //num為小寫金額,單位元 changeMoney(num) { if(isNaN(num))return ""; var strPrefix="

js 頁面小寫金額轉換大寫金額

function changeChineseNumber(num) { if (isNaN(num) || num > Math.pow(10, 12)) return ""

(轉)WORD中小寫金額轉換大寫

轉自:http://www.officefans.net/cdb/viewthread.php?tid=52631 '* +++++++++++++++++++++++++++++ '* Created By [email protected] 2007-2-1

用JS小寫金額大寫

比較經典的程式碼! 保留2位小數,否則會出錯! 整數金額必須為格式:12345.00 否則會出錯! 如果結合ASP的FormatCurrency,可解決這個問題!  <script language="JavaScript" type="text/JavaScript"

c語言從鍵盤中輸入一串字串,字元中的大寫轉化小寫字母,小寫字母轉換大寫字母,以*號鍵結束

#include <stdio.h> int main(int argc, const char * argv[]) {     char c;      c=getchar();     while (c!='*')     {         if(c

Excel 金額轉換大寫字母函式

Function CapsMoney(curMoney As Currency) As String '轉換中文大寫金額函式 Dim curMoney1 As Long Dim i1 As Long '儲存整數部分(元部分) Dim i2 As Integer '儲存十分位(角部分)

知識網路1.5 字串中的小寫字母轉換大寫

以下是本節涉及的知識點: 將字串小寫字母轉成大寫 字元陣列 從鍵盤輸入字串 char型資料的特點 庫函式 我們終於來到了這一系列boss中最後的boss了。雖然是最後一個,但卻比前面的都要簡單,因為這裡面沒有複雜的多重迴圈,沒有燒腦的找規律,有的只是簡單平和

JS人民幣小寫金額轉換大寫

/** 數字金額大寫轉換(可以處理整數,小數,負數) */ function smalltoBIG(n) { var fraction = ['角', '分']; var digit = ['零', '壹', '貳', '叄', '肆',

js阿拉伯數字轉換大寫金額

function changeMoneyToChinese(money){ var cnNums = new Array("零","壹","貳","叄","肆","伍","陸","柒","捌","玖"); //漢字的數字 var cnIntRadice

T1138 字串中的小寫字母轉換大寫字母 (#Ⅰ- 5

【題目描述】給定一個字串,將其中所有的小寫字母轉換成大寫字母。【輸入】輸入一行,包含一個字串(長度不超過100,可能包含空格)。【輸出】輸出轉換後的字串。【輸入樣例】helloworld123Ha 【輸

人民幣 小寫金額轉換大寫金額

nan out lac num 大寫 tput urn group substring ### 人民幣 小寫金額轉換為大寫金額

JS實現數字金額轉換大寫人民幣漢字的方法

function convertCurrency(money) { //漢字的數字 var cnNums = new Array('零', '壹', '貳', '叄', '肆', '伍', '陸', '柒', '捌', '玖'); //基本單位 var cnIntRadice = n

java資料庫資料轉換word文件並且生成pdf檔案最後轉換對應的圖片

目的:將資料轉換成word圖片的方式展現給使用者 工具:openoffice +java程式碼 +資料庫,其中openoffice有windows版本的和Linux版本的。 其中openoffice的下載地址為:連結:https://pan.baidu.com/s/1Y5Ra3TfNCc

C語言toupper()函式:小寫字母轉換大寫字母

標頭檔案:#include <ctype.h> 定義函式:int toupper(int c); 函式說明:若引數 c 為小寫字母則將該對應的大寫字母返回。 返回值:返回轉換後的大寫字母,若不須轉換則將引數c 值返回。 範例:將s 字串內的小寫字母轉換成大寫字母

java實現數字金額轉換中文大寫金額

直接貼程式碼吧! public class CnNumberUtils { private final static Logger logger = LoggerFactory.getLogger(CnNumberUtils.class);

Java時間戳轉換指定格式日期

public String TimeStamp2Date(String timestampString, String formats){      Long timestamp = Long.parseLong(timestampString)*1000;      S

使用 Java 中文字元轉換 Unicode 編碼

這兩天操作XML使用到了Jdom,在建立XML檔案並輸出到硬碟的時候遇到一箇中文編碼的問題:Jdom預設輸出的XML編碼是UTF-8,但是文件中如果出現中文字元那麼該中文字元就會變成亂碼,造成XML檔案無法被正確解析。 UTF -8應該是可以用來表示中文的吧?我不知道這是不

-------------------------SQL SERVER函式人民幣數字轉換大寫形式---------------------

CREATE  FUNCTION [dbo].[f_num_chn] (@num numeric(14,5))   RETURNS varchar(100) WITH ENCRYPTION   AS   BEGIN   --版權所有:[email protected