|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2003/4/18 13:25:25 |
标题: |
|
加入我的收藏 |
楼主: |
formatfloat(',.00',StrToFloat('123456')可将123456的格式设为123,456.00(财务上用的)
请问如何逆向转化呢? 将123,456.00的格式设为123456.00
----------------------------------------------
新手,想得到您的帮助! |
作者: |
cjrb (Thinking In 魂) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/4/18 13:42:47 |
1楼: |
首部 function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): string; $[SysUtils.pas 功能 返回浮点数以指定格式转换成字符串 说明 Precision指定精度;Digits指定小数宽度 参考 function SysUtils.FloatToText 例子 ///////Begin FloatToStrF procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.Values['ffGeneral'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0), ffGeneral, SpinEdit1.Value, SpinEdit2.Value); Memo1.Lines.Values['ffExponent'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0), ffExponent, SpinEdit1.Value, SpinEdit2.Value); Memo1.Lines.Values['ffFixed'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0), ffFixed, SpinEdit1.Value, SpinEdit2.Value); Memo1.Lines.Values['ffNumber'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0), ffNumber, SpinEdit1.Value, SpinEdit2.Value); Memo1.Lines.Values['ffCurrency'] := FloatToStrF(StrToFloatDef(Edit1.Text, 0), ffCurrency, SpinEdit1.Value, SpinEdit2.Value); end; ///////End FloatToStrF
----------------------------------------------
充电..........
|
作者: |
|
2003/4/18 13:59:38 |
2楼: |
这么复杂,很难懂啊,能不能写简单点,举个例子?!
----------------------------------------------
新手,想得到您的帮助!
|
作者: |
cjrb (Thinking In 魂) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/4/18 14:39:28 |
3楼: |
你说的 将123,456.00的格式设为123456.00 前面是什么类型,后面呢
----------------------------------------------
充电..........
|
作者: |
llf026 (llf026) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/4/18 14:51:53 |
4楼: |
用 var s: string; begin edit1.text := format('%n', [123456.0]); s := edit1.text; while pos(',', s) > 0 do delete(s, pos(',', s), 1); edit2.Text := floattostr(strtofloat(s)); end;
----------------------------------------------
-
|
作者: |
tzzqn (教授) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/4/18 15:49:27 |
5楼: |
我来接,用formatfloat('.00',StrToFloat('123456')即可
----------------------------------------------
|
作者: |
tzzqn (教授) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/4/22 18:53:22 |
7楼: |
很简单,那把5楼的括号中的“123456”改成“123,456.00”不就成了吗!!!!
----------------------------------------------
|
作者: |
|
2003/4/22 20:22:29 |
8楼: |
兄弟,这个函数可以帮你解决问题,而且很简单,你可以适当的加以修改
function Str_SByte(var XStr:string): string; //当然可以设计来源数据是float的
begin
while Pos(',', XStr) > 0 do begin Delete(XStr, Pos(',', XStr), 1); end; str_sbyte:= xstr; end;
----------------------------------------------
-
|
|