如何從 "US$123.4" 轉回浮點數 123.4? |
答題得分者是:chiehmin
|
Diviner
初階會員 發表:36 回覆:112 積分:34 註冊:2002-03-13 發送簡訊給我 |
|
delphiwww
資深會員 發表:145 回覆:363 積分:368 註冊:2002-03-13 發送簡訊給我 |
|
Diviner
初階會員 發表:36 回覆:112 積分:34 註冊:2002-03-13 發送簡訊給我 |
引言: var fl:real; s:string; begin s:='US$123.4'; fl:=strtofloat(copy(s,4,length(s)-3)); end;這是很治標的方法, 若有天用戶把貨幣符號改為 "USD$" 豈非就要改程式? -- 小卜子引言: 我用 Format('%m', [123.4]) 一句, 輕易把浮點數按照國別設定中的貨幣格式轉換成 "US$123.4" 字串(假如系統已設定貨幣格式為美金), 那麼, 如何轉回來呢?
------
-- 小卜子 |
delphiwww
資深會員 發表:145 回覆:363 積分:368 註冊:2002-03-13 發送簡訊給我 |
假如是如此的話,就必須固定是否有$
可以用pos('$',s),方式如下:
var
fl:real;
s:string;
i:integer;
begin
s:='US$123.4';
i:=pos('$',s);
if i>0 then
fl:=strtofloat(copy(s,i+1,length(s)-i))
else
fl:=0; //無法轉換
end;
引言:引言: var fl:real; s:string; begin s:='US$123.4'; fl:=strtofloat(copy(s,4,length(s)-3)); end;這是很治標的方法, 若有天用戶把貨幣符號改為 "USD$" 豈非就要改程式? -- 小卜子引言: 我用 Format('%m', [123.4]) 一句, 輕易把浮點數按照國別設定中的貨幣格式轉換成 "US$123.4" 字串(假如系統已設定貨幣格式為美金), 那麼, 如何轉回來呢? |
chiehmin
高階會員 發表:13 回覆:134 積分:134 註冊:2002-05-23 發送簡訊給我 |
//截出左邊第一個數字囉-------------
function getLeftNum(Value: String): Real;
var
iCount: Integer;
begin
Result := 0;
for iCount := 1 to Length(Value) do
begin
if Value[iCount] in ['0'..'9'] then
begin
Delete(Value, 1, iCount - 1);
Result := StrToFloat(Value);
break;
end;
end;
end; 發表人 - chiehmin 於 2002/10/16 13:46:28 發表人 - chiehmin 於 2002/10/16 14:37:46
|
Diviner
初階會員 發表:36 回覆:112 積分:34 註冊:2002-03-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |