📄 mainform.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Mainform.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
AnsiString TransferNumberToChinese(double fNumber, bool DisplayZero, int SpaceLength)
{ //将数值转换为大写金额
//18个单位
const String StrScale[18] = {"分","角","元","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟","兆","拾","佰","仟"};
//10个数字
const String StrNumber[10] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
AnsiString StrTemp;
StrTemp=FloatToStr(fNumber);
StrTemp.Delete(StrTemp.Pos("."), 1); //去掉小数点
AnsiString StrRusult = " ";
for (int i = StrTemp.Length(); i > 0; i--)
{
if ( !DisplayZero && i > 2 && StrTemp[StrTemp.Length() - i + 1] - 48 == 0 )
continue;
StrRusult += StrNumber[StrTemp[StrTemp.Length()-i+1]-48];
StrRusult += StrScale[i-1];
StrRusult += AnsiString::StringOfChar(' ', SpaceLength);
}
return StrRusult;
}
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
if(this->Edit1->Text.Length()<1)
{
MessageBox(Handle,"请输入金额小写数字!","信息提示",MB_OK);
return;
}
if(this->Edit1->Text.Length()>17)
{
MessageBox(Handle,"数据太大!","信息提示",MB_OK);
return;
}
double fNumber=StrToFloat(this->Edit1->Text);
this->Edit2->Text=TransferNumberToChinese(fNumber,true,0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{
this->Close();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -