/* 建立者:菜刀居士的部落格
* 建立日期: 2023年09月04號
* 功能:money型別轉換
* */
; /// /// 把金額轉換為漢字表示的數量,小數點後四捨五入保留兩位
///
/// 小寫金額
/// 人民幣大寫
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 class moneyhelper 把金額轉換為漢字表示的數量,小數點後四捨五入保留兩位 小寫金額 人民幣大寫 public static string amounttochinese decim...
表示式轉換 中綴表示式轉換為字尾表示式
算術表示式有字首表示法 中綴表示法和字尾表示法等形式。日常使用的算術表示式是採用中綴表示法,即二元運算子位於兩個運算數中間。請設計程式將中綴表示式轉換為字尾表示式。輸入格式 輸入在一行中給出不含空格的中綴表示式,可包含 以及左右括號 表示式不超過20個字元。輸出格式 在一行中輸出轉換後的字尾表示式,...
中綴表示式轉換為字尾表示式
今天我們課前談一談,要說點什麼好呢?最近小甲魚發現,很多魚油在學習資料結構和演算法的時候積極性已經開始有點下降了。甚至很多朋友懷疑資料結構和演算法到底有沒有用?實話說,在大廈的防震設計 消除疾病 防止水源枯竭這些實際問題中,很遺憾,資料結構和演算法幾乎起不到任何直接作用。那為什麼我們要學呢?很簡單,...