金额中文大写

        #region 中文大写
/// <summary>
/// 返回中文数字 ,如壹佰元整
/// </summary>
/// <param name="valIn"></param>
/// <param name="strType">0返回金额写法,1返回数量写法</param>
/// <returns></returns>
public static string GetChineseNum(decimal valIn, int strType = )
{ string m_1, m_2, m_3, m_4, m_5, m_6, m_7, m_8, m_9; string numNum = "0123456789.";
string numChina = "零壹贰叁肆伍陆柒捌玖点";
string numChinaWeigh = "个拾佰仟万拾佰仟亿拾佰仟万"; //m_1.Format("%.2f", atof(m_1));
m_1 = valIn.ToString("f2");
m_2 = m_1;
m_3 = m_4 = "";
//m_2:1234-> 壹贰叁肆
for (int i = ; i < ; i++)
{
//m_2=m_2.Replace(numNum.Mid(i, 1), numChina.Mid(i * 2, 2));
m_2 = m_2.Replace(numNum.Substring(i, ), numChina.Substring(i, ));
} //m_3:佰拾万仟佰拾个
int iLen = m_1.Length;
if (iLen > )
{
m_8 = m_9 = "越界错!";
throw new Exception("数字太大,超出处理范围");
}
if (m_1.IndexOf('.') > )
iLen = m_1.IndexOf('.'); for (int j = iLen; j >= ; j--)
{
m_3 += numChinaWeigh.Substring(j - , );
}
//m_4:2行+3行 for (int i = ; i < m_3.Length; i++)
{
m_4 += m_2.Substring(i, ) + m_3.Substring(i, );
}
//m_5:4行去"0"后拾佰仟 m_5 = m_4;
m_5 = m_5.Replace("零拾", "零");
m_5 = m_5.Replace("零佰", "零");
m_5 = m_5.Replace("零仟", "零");
//m_6:00-> 0,000-> 0 m_6 = m_5;
for (int i = ; i < iLen; i++)
m_6 = m_6.Replace("零零", "零"); //m_7:6行去亿,万,个位"0"
m_7 = m_6;
m_7 = m_7.Replace("亿零万零", "亿零");
m_7 = m_7.Replace("亿零万", "亿零");
m_7 = m_7.Replace("零亿", "亿");
m_7 = m_7.Replace("零万", "万");
if (m_7.Length > )
m_7 = m_7.Replace("零个", "个"); //m_8:7行+2行小数-> 数目
m_8 = m_7;
m_8 = m_8.Replace("个", "");
if (m_2.Substring(m_2.Length - , ) != "点零零")
m_8 += m_2.Substring(m_2.Length - , ); //m_9:7行+2行小数-> 价格
m_9 = m_7;
m_9 = m_9.Replace("个", "元");
if (m_2.Substring(m_2.Length - , ) != "点零零")
{
m_9 += m_2.Substring(m_2.Length - , );
m_9 = m_9.Insert(m_9.Length - , "角");
m_9 += "分";
}
else m_9 += "整";
if (m_9 != "零元整")
m_9 = m_9.Replace("零元", "");
m_9 = m_9.Replace("零分", "整");
if (strType == ) //数量
return m_8;
else
return m_9; }
#endregion

日期转中文

        #region 日期转中文

        /// <summary>
/// 日期转中文
/// </summary>
/// <param name="strDate">日期</param>
/// <returns></returns>
public static string GetChineseDate(string strDate)
{
char[] strChinese = new char[] {
'〇','一','二','三','四','五','六','七','八','九','十'
};
StringBuilder result = new StringBuilder(); //// 依据正则表达式判断参数是否正确
//Regex theReg = new Regex(@"(d{2}|d{4})(/|-)(d{1,2})(/|-)(d{1,2})"); if (!string.IsNullOrEmpty(strDate))
{
// 将数字日期的年月日存到字符数组str中
string[] str = null;
if (strDate.Contains("-"))
{
str = strDate.Split('-');
}
else if (strDate.Contains("/"))
{
str = strDate.Split('/');
}
// str[0]中为年,将其各个字符转换为相应的汉字
for (int i = ; i < str[].Length; i++)
{
result.Append(strChinese[int.Parse(str[][i].ToString())]);
}
result.Append("年"); // 转换月
int month = int.Parse(str[]);
int MN1 = month / ;
int MN2 = month % ; if (MN1 > )
{
result.Append(strChinese[MN1]);
}
if (MN1 > )
{
result.Append(strChinese[]);
}
if (MN2 != )
{
result.Append(strChinese[MN2]);
}
result.Append("月"); // 转换日
int day = int.Parse(str[]);
int DN1 = day / ;
int DN2 = day % ; if (DN1 > )
{
result.Append(strChinese[DN1]);
}
if (DN1 > )
{
result.Append(strChinese[]);
}
if (DN2 != )
{
result.Append(strChinese[DN2]);
}
result.Append("日");
}
else
{
throw new ArgumentException();
} return result.ToString();
} #endregion

.net 金额中文大写 日期转中文的更多相关文章

  1. C# 日期转换为中文大写

    /// <summary> /// 日期转换为中文大写 /// </summary> public class UpperConvert { public UpperConve ...

  2. 【转载】C#工具类:人民币金额转换为中文大写

    在涉及到金融业务这一块的系统设计中,时常能够遇到的情况是需要将阿拉伯数字的人民币金额自动转换为中文的大写金额.现在互联网上也有很多网站提供此类服务,只要你输入人民币的阿拉伯数字金额,输入后自动给你转换 ...

  3. 【JAVA】POI设置EXCEL单元格格式为文本、小数、百分比、货币、日期、科学计数法和中文大写

    POI设置EXCEL单元格格式为文本.小数.百分比.货币.日期.科学计数法和中文大写 博客分类:,本文内容转自 http://javacrazyer.iteye.com/blog/894850 FIL ...

  4. C# 金额转中文大写

    今天看到一个库是把金额转中文大写,看起来很容易,所以我就自己写了 创建的项目是创建一个 dot net core 的项目,实际上这个项目可以创建为 Stand 的. 首先创建类,这个类的构造传入一个 ...

  5. POI设置EXCEL单元格格式为文本、小数、百分比、货币、日期、科学计数法和中文大写

    再读本篇文章之前,请先看我的前一篇文章,前一篇文章中有重点讲到POI设置EXCEL单元格格式为文本格式,剩下的设置小数.百分比.货币.日期.科学计数法和中文大写这些将在下面一一写出 以下将要介绍的每一 ...

  6. JS把数字金额转换成中文大写数字的函数

    //把数字金额转换成中文大写数字的函数 function num2rmb ($num){ $c1="零壹贰叁肆伍陆柒捌玖"; $c2="分角元拾佰仟万拾佰仟亿" ...

  7. 2018-4-29-C#-金额转中文大写

    title author date CreateTime categories C# 金额转中文大写 lindexi 2018-04-29 09:50:38 +0800 2018-04-02 21:4 ...

  8. XtraReport报表入库单数字转中文大写数字

    先看看打印入库单的效果图,看如下: 客户要求合计一行,要求大写中文数字.XtraReport报表是如何做出以上图的效果呢?因为是要把数字转成大写中文数字,得先准备数字转大写中文数字的函数.因网上有很多 ...

  9. JavaScript将输入的数字金额转换成对应的中文大写金额

    // 将输入的数字金额转换成对应的中文大写金额 // idNumber输入的数字金额,idCHN输出的中文大写金额 function TransformNumberIntoCHN(idNumber, ...

随机推荐

  1. 用C语言构建一个可执行程序的流程

    1.流程图 从用C语言写源代码,然后经过编译器.连接器到最终可执行程序的流程图大致如下图所示. 2.编译流程 首先,我们先用C语言把源代码写好,然后交给C语言编译器.C语言编译器内部分为前端和后端. ...

  2. loj #107. 维护全序集

    #107. 维护全序集 题目描述 这是一道模板题,其数据比「普通平衡树」更强. 如未特别说明,以下所有数据均为整数. 维护一个多重集 S SS ,初始为空,有以下几种操作: 把 x xx 加入 S S ...

  3. 【python】collections模块(有序字典,计数器,双向队列)

    collections模块基本介绍 我们都知道,Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上 ...

  4. Java面向对象之关键字static 入门实例

    一.基础概念 静态关键字 static 是成员修饰符,直接用于修饰成员. (一)特点: 1.被静态修饰的成果,可以直接被类名所调用. 2.静态成员优先于对象存在. 3.静态成员随着类的加载而加载.随着 ...

  5. mysql主从服务器

    #mysql主从服务器 mysql-bin.003673 | 106 查看错误日志show variables like '%log_error%'; replicate-do-table=testm ...

  6. 4.jQuery和DOM 对象之间的相互转换

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  7. 转 JavaScript里的数组转化新方法Array.From

    过去,我们使用各种各样的方法来将类似Array对象的东西(比如 arguments 和 NodeList) 转换成真的数值.比如下面这个: 将NodeList转换成数组 基本上,这些东西我们都可以使用 ...

  8. python之文件读写(2)

    2. 写入数据到文件中 读取文件用read,那么写用什么嘞?用write!实际操作一下. 2.1 简单的写入数据到文件中 file = open("write_data", &qu ...

  9. C++_异常5-异常规范和栈解退

    异常规范 异常规范的理念看似有前途,但实际的使用效果并不好. 忽视异常规范之前,您至少应该知道它是什么样的,如下所示: double harm(double a) throw(bad_thing);  ...

  10. POJ_2480 Longge's problem【积性函数+欧拉函数的理解与应用】

    题目: Longge is good at mathematics and he likes to think about hard mathematical problems which will ...