谁能给个BCB版的金额小写转换成人民币大写的代码,100分送,谢谢!

NetSpider9804040 2011-09-18 10:53:16
谁能给个BCB版的金额小写转换成人民币大写的代码,100分送,谢谢!
...全文
407 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
七擒关羽 2011-09-19
  • 打赏
  • 举报
回复
各位鸟鸟大侠,学习下google大法和帮助文档神功
jone7319 2011-09-19
  • 打赏
  • 举报
回复
看这里:http://topic.csdn.net/u/20080918/10/0468393a-e32e-4521-820c-3ce68bed991b.html
jone7319 2011-09-19
  • 打赏
  • 举报
回复
这是几年前写的代码,你参考修改一下

String __fastcall TForm1::NumToCnum(long num)
{
String cstr=" 一二三四五六七八九";
String str=" 十 百 千 万 十 百 千 亿 十 百 千 万十万百万千万";
String n=num;

String c,cc,cn="",b="",x="零";
for(int i=1;i<=n.Length();i++)
{
c=(n.SubString(i-1,1)==0 && n.SubString(i,1)!=0)?x+cstr.SubString(2*n.SubString(i,1).ToInt()+1,2).Trim():cstr.SubString(2*n.SubString(i,1).ToInt()+1,2).Trim();//取数字
cc=(n.SubString(i,1)=="0" && n.Length()-i!=4 && n.Length()-i!=9)?b:(str.SubString(4*(n.Length()-i)+1,4).Trim()) ;//取基数
cn+=(n.Length()+1-i)==1?c:c+cc.Trim(); //组成中文数字
}
return cn.Trim();
}
/*
作了如下简单测试:
20 ->二十
300 -> 三百
405 -> 四百零五
123 ->一百二十三
300400 ->三十万零四百
1020304050 -> 一十亿零二千零三十万零四千零五十
123456789 -> 一亿二千三百四十五万六千七百八十九
*/


zzbinfo 2011-09-18
  • 打赏
  • 举报
回复
网上流传的版本
//---------------------------------------------------------------------------
AnsiString CurrToChnNum(AnsiString CurrNum, bool DisplayZero, int SpaceNum)
//参数说明:CurrNum 这个是要转化的数值
//      DisplayZero 是否要显示零 如:(显示零)壹佰 零拾 叁元 伍角 伍分
// SpaceNum 字符间的空格数,默认值为2
{
//数值转换为大写金额
//18个数字单位
const String Dw[18] = {"分","角","圆","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟","兆","拾","佰","仟"};
//10个数码
const String Num[10] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
AnsiString sTemp;
// sTemp = FormatFloat("0.00", CurrNum); //格式化数值
sTemp = CurrNum;
sTemp.Delete(sTemp.Pos(".")+3,sTemp.Length()-sTemp.Pos("."));
sTemp.Delete(sTemp.Pos("."), 1); //去掉小数点
if ( sTemp.Length() > 18 ) //是否超长?
{
MessageDlg("数值位数太多,不能处理!",mtError,TMsgDlgButtons() << mbYes,0);
return NULL;
}
AnsiString sRusult = " "; //字串的头部字符,根据喜好
for (int i = sTemp.Length(); i > 0; i--) //开始加工
{
if ( !DisplayZero && i > 2 && sTemp[sTemp.Length() - i + 1] - 48 == 0 )
continue;
sRusult += Num[sTemp[sTemp.Length()-i+1]-48];
sRusult += Dw[i-1];
sRusult += AnsiString::StringOfChar(' ', SpaceNum);
}
return sRusult;
}
//-------------------------------------------------------------------------
ccrun.com 2011-09-18
  • 打赏
  • 举报
回复
google "site:topic.csdn.net C++Builder 金额 人民币 大写"

代码一大堆,随便给你两个链接。

http://topic.csdn.net/t/20040326/10/2888759.html
http://topic.csdn.net/u/20100713/09/520f5648-827f-496b-86b4-3ffd069764e5.html
内容概要:本文档是关于“基于小信号扫频辨识的光伏并网逆变器正负序交互稳定性分析”的博士论文复现资源,配套提供Matlab代码与Simulink仿真实现。内容聚焦于弱电网条件下光伏并网逆变器的稳定性问题,深入研究其正负序阻抗建模方法、小信号扫频辨识技术及正负序交互失稳机理。通过构建高精度的系统仿真模型,采用扫频法提取逆变器在不同控制环路(如锁相环、电流环)影响下的序阻抗特性,并结合奈奎斯特稳定性判据评估其与电网阻抗之间的交互作用,系统性地揭示了宽频带振荡的产生机制。该资源完整还原了论文中的关键理论推导与仿真验证流程,适用于从事新能源并网、电力电子系统建模与稳定性分析的研究人员进行学习、复现与二次开发。; 适合人群:具备电力系统、电力电子与自动控制理论基础,熟练掌握Matlab/Simulink仿真工具,从事新能源发电并网、逆变器控制策略或电力系统稳定性研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 复现并验证博士论文中提出的光伏逆变器正负序阻抗建模与小信号扫频分析方法;② 深入理解弱电网环境下由正负序耦合引发的交互失稳现象及其物理机理;③ 掌握基于阻抗法的并网系统稳定性分析流程,为虚拟同步机、构网型控制等先进控制策略的稳定性研究提供技术参考与仿真支撑。; 阅读建议:建议学习者结合提供的代码与仿真模型,首先深入理解序阻抗建模与扫频辨识的基本原理,然后逐步调试仿真程序,重点关注锁相环动态、电流控制器参数对序阻抗曲线的影响,最终掌握从模型搭建、扫频测试到稳定性判据应用的全流程分析能力。

13,872

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧