C 量轉換為漢字表達

2021-09-07 03:08:08 字數 2903 閱讀 8963

/* 創造者:菜刀打好部落格

* 建立日期: 2023年09乙個月04號碼

* 特徵:money型別轉換**/

public class moneyhelper;

///

/// 把金額轉換為漢字表示的數量,小數點後四捨五入保留兩位

///

/// 小寫金額

/// 人民幣大寫

public static string amounttochinese(decimal amount)

// 假設是負數,先轉換為正數

bool negative = false;

if (amount < 0)

// 乘以100再進行四捨五入。實現小數保留2位

decimal temp_r = round(amount, 2);

int temp = convert.toint32(temp_r * 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++)

int part = (int)(temp % 10000);

parts[i] = part;

numparts++;

temp = temp / 10000;}//

bool beforewaniszero = true; // 標誌「萬」以下一級是不是 0

string chinesestr = "";

for (int i = 0; i < numparts; i++)

else}

if (i != 0)

else

else

chinesestr = "萬" + chinesestr;}}

}chinesestr = partchinese + chinesestr;}

// 最後處理

if ("".equals(chinesestr))  // 整數部分為 0, 則表達為"零元"

else if (negative)          // 整數部分不為 0, 而且原金額為負數

chinesestr = chinesestr + "元";

if ((numfen == 0) && (numjiao == 0))

else if (numfen == 0)  // 0 分。角數不為 0

else                   // 「分」數不為 0

else

}return chinesestr;}

///

/// 把乙個 0~9999 之間的整數轉換為漢字的字串,假設是 0 則返回 ""

///

///

///

public static string parttranslate(int amountpart)

string units = new string ;

int temp = amountpart;

string amountstr = amountpart.tostring();

int amountstrlength = amountstr.length;

bool lastiszero = true; // 在從低位往高位迴圈時,記錄上一位數字是不是 0

string chinesestr = "";

for (int i = 0; i < amountstrlength; i++)

int digit = temp % 10;

if (digit == 0) // 取到的數字為 0

lastiszero = true;

}else   // 取到的數字不是 0

temp = temp / 10;

}return chinesestr;}

public static decimal round(decimal data, int digits)

return convert.todecimal(((decimal)(intdata / i)).tostring(format));

}///

/// 把金額轉換為漢字表示

///

public static string rmbencode(decimal num)

str2 = str2.substring(15 - j);   //取出相應位數的str2的值。

如:200.55,j為5所以str2=佰拾元角分

#endregion

//迴圈取出每一位須要轉換的值

for (i = 0; i < j; i++)

else

else

}#endregion

}else

else

else

else

else

}#endregion}}

#endregion

}if (i == (j - 11) || i == (j - 3))

str5 = str5 + ch1 + ch2;

if (i == j - 1 && str3 == "0")

#endregion

}if (num == 0)

return str5;

}catch}}

}

C 把金額轉換為漢字表示式

建立者 菜刀居士的部落格 建立日期 2014年09月04號 功能 money型別轉換 把金額轉換為漢字表示的數量,小數點後四捨五入保留兩位 小寫金額 人民幣大寫 public static string amounttochinese decimal amount 如果是負數,先轉換為正數 bool...

數字轉換為漢字

其實數字轉換成漢字的方式有多種多樣的,在我的同事中就有寫出更加簡單方便的 但是由於他的方法不易讀懂 水平不夠啊 因此在這裡我只說說我是如何實現這個功能 也是通過別人的指點之後思索出來的 思想簡要 1.數字對應的轉換成漢字,這其中不考慮任何情況只是簡單的轉換 如1000 轉換為 一千零百零十零 2.然...

C 漢字轉換為拼音的類

c 漢字轉換為拼音的類,含大小寫轉換 因為是靜態函式 呼叫方法很簡單 crazycoderpinyin.convert 瘋狂 如下 using system using system.collections.generic using system.text using system.text.re...