public class moneyutil ;
/**
* 把金額轉換為漢字表示的數量,小數點後四捨五入保留兩位
* @param amount
* @return
*/ public static string amounttochinese(double amount)
long temp = math.round(amount * 100);
int numfen = (int)(temp % 10); // 分
temp = temp / 10;
int numjiao = (int)(temp % 10); //角
temp = temp / 10;
//temp 目前是金額的整數部分
int parts = new int[20]; // 其中的元素是把原來金額整數部分分割為值在 0~9999 之間的數的各個部分
int numparts = 0; // 記錄把原來金額整數部分分割為了幾個部分(每部分都在 0~9999 之間)
for(int i=0; ; i++)
boolean beforewaniszero = true; // 標誌「萬」下面一級是不是 0
string chinesestr = "";
for(int i=0; i 0) // 如果"萬"的部分不為 0, 而"萬"前面的部分小於 1000 大於 0, 則萬後面應該跟「零」
chinesestr = "零" + chinesestr;
chinesestr = "萬" + chinesestr;
} }
} chinesestr = partchinese + chinesestr;
} if("".equals(chinesestr)) // 整數部分為 0, 則表達為"零元"
chinesestr = chinesedigits[0];
else if(negative) // 整數部分不為 0, 並且原金額為負數
chinesestr = "負" + chinesestr;
chinesestr = chinesestr + "元";
if(numfen == 0 && numjiao == 0)
else if(numfen == 0)
else
return chinesestr;
} /**
* 把乙個 0~9999 之間的整數轉換為漢字的字串,如果是 0 則返回 ""
* @param amountpart
* @return
*/ private static string parttranslate(int amountpart)
string units = new string ;
int temp = amountpart;
string amountstr = new integer(amountpart).tostring();
int amountstrlength = amountstr.length();
boolean lastiszero = true; //在從低位往高位迴圈時,記錄上一位數字是不是 0
string chinesestr = "";
for(int i=0; ielse
temp = temp / 10;
} return chinesestr;
} public static void main(string args)
else } }
阿拉伯數字大寫轉換
public class genchinese private final static string str shu ji 大數量級 private final static string str shu ji 2 千內數量級 public genchinese param intnumber 需...
js將阿拉伯數字轉換成漢字大寫
適用場景 票據,結算憑證等。將任意數字的金額,轉換成漢字大寫的形式。例如 1234.50 壹仟貳佰叄拾肆圓伍角。壹 貳 叄 肆 直接貼 如下 阿拉伯數字轉換成大寫漢字 function numberparsechina money money parsefloat money if money ma...
英文數字轉換成為阿拉伯數字
include include include include includeusing namespace std define debug int parse void else if 1 twice check flag,do sth,clear flag else j 0 buf j c b...