时长12:34:56转成秒的函数?1234567.89转中文货币的函数? 时长12:34:56转成秒的函数?1234567.89转中文货币的函数?请给出算法谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.showmessage(inttostr(SecondOfTheDay(strtodatetime('17:55:20'))));2.{************************************************************************* 函数 : CashToChinese 输入 : dAmount:extended //小数点后:2位;小数点前:15位 返回 : 大写金额 描述 :小写金额转大写**************************************************************************}function TPubFunc.CashToChinese(dAmount: extended): string;const BITNUM = 15; upper_cash: array[0..10] of pchar = ('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖', #0); unit_cash: array[0..BITNUM - 1] of pchar = ( '万', '仟', '佰', '拾', '亿', '仟', '佰', '拾', '万', '仟', '佰', '拾', '元', '角', '分');var sRet: string; sAmt: string; i, ilen: integer; iCode: integer; sMessage: string; BFlag: Boolean;begin BFlag := True; sRet := ''; if not (dAmount > 0.000001) then iCode := -1 else iCode := 1; dAmount := abs(dAmount); //去除小数点 sAmt := FloatToStr(dAmount * 100); if (Pos('.', sAmt) <> 0) then begin sMessage := '小数点后位数只能两位'; exit; end; ilen := length(sAmt); for i := BITNUM - ilen to BITNUM - 1 do begin if ord(sAmt[i - BITNUM + ilen + 1]) <> $30 then begin sRet := sRet + upper_cash[ord(sAmt[i - BITNUM + ilen + 1]) - $30]; sRet := sRet + unit_cash[i]; end else begin if (i = 5) then //千万 begin //如百万、十万、个万 都为0,不加单位 if (ord(sAmt[i - BITNUM + ilen + 2]) = $30) and (ord(sAmt[i - BITNUM + ilen + 3]) = $30) and (ord(sAmt[i - BITNUM + ilen + 4]) = $30) then BFlag := false; end //加单位:亿、万、元 else if (i = 12) or (i = 4) or ((i = 8) and BFlag) then sRet := sRet + unit_cash[i]; //连续两个零:加零 if (ord(sAmt[i - BITNUM + ilen + 2]) <> $30) and (ord(sAmt[i - BITNUM + ilen + 2]) <> $0) then sRet := sRet + upper_cash[ord(sAmt[i - BITNUM + ilen + 1]) - $30]; end; end; if (sAmt[ilen] = #48) and (sAmt[ilen - 1] = #48) then sRet := sRet + '整'; if (iCode = -1) then Result := '负' + sRet else Result := sRet;end; //转秒 Edit1.Text:=FloatToStr(StrToTime('12:34:56')*24*3600); Delphi 错误 美图秀秀那样的软件,用什么控件下的? 菜鸟问题:delphi 启用word 为何启用不了?急! 请熟悉Delphi和VC的大虾帮忙看下 迷茫的年代,迷茫的人生 毕业设计,大虾们帮我想想点子, string类型的字符串的结束符是什么? 在线等待,关于postmessage的问题? 高手帮忙,锁定鼠标和键盘问题 网页中的那些编辑框中的文字该怎样获取和添加? 设计一个类似TDATETIMEPICKER的控件,该怎么做啊 ? showmessage问题
2.{*************************************************************************
函数 : CashToChinese
输入 : dAmount:extended //小数点后:2位;小数点前:15位
返回 : 大写金额
描述 :小写金额转大写
**************************************************************************}
function TPubFunc.CashToChinese(dAmount: extended): string;
const
BITNUM = 15;
upper_cash: array[0..10] of pchar = ('零', '壹', '贰', '叁', '肆', '伍',
'陆', '柒', '捌', '玖', #0);
unit_cash: array[0..BITNUM - 1] of pchar = (
'万', '仟', '佰', '拾', '亿', '仟', '佰', '拾', '万', '仟',
'佰',
'拾', '元', '角', '分');
var
sRet: string;
sAmt: string;
i, ilen: integer;
iCode: integer;
sMessage: string;
BFlag: Boolean;
begin
BFlag := True;
sRet := '';
if not (dAmount > 0.000001) then
iCode := -1
else
iCode := 1; dAmount := abs(dAmount);
//去除小数点
sAmt := FloatToStr(dAmount * 100);
if (Pos('.', sAmt) <> 0) then
begin
sMessage := '小数点后位数只能两位';
exit;
end;
ilen := length(sAmt);
for i := BITNUM - ilen to BITNUM - 1 do
begin
if ord(sAmt[i - BITNUM + ilen + 1]) <> $30 then
begin
sRet := sRet + upper_cash[ord(sAmt[i - BITNUM + ilen +
1]) - $30];
sRet := sRet + unit_cash[i];
end
else
begin
if (i = 5) then //千万
begin
//如百万、十万、个万 都为0,不加单位
if (ord(sAmt[i - BITNUM + ilen + 2]) = $30) and
(ord(sAmt[i - BITNUM + ilen + 3]) = $30)
and
(ord(sAmt[i - BITNUM + ilen + 4]) = $30)
then
BFlag := false;
end
//加单位:亿、万、元
else if (i = 12) or (i = 4) or ((i = 8) and BFlag) then
sRet := sRet + unit_cash[i]; //连续两个零:加零
if (ord(sAmt[i - BITNUM + ilen + 2]) <> $30) and
(ord(sAmt[i - BITNUM + ilen + 2]) <> $0) then
sRet := sRet + upper_cash[ord(sAmt[i - BITNUM +
ilen + 1]) - $30];
end;
end;
if (sAmt[ilen] = #48) and (sAmt[ilen - 1] = #48) then
sRet := sRet + '整';
if (iCode = -1) then
Result := '负' + sRet
else
Result := sRet;
end;
Edit1.Text:=FloatToStr(StrToTime('12:34:56')*24*3600);