请问高手。为什么我通过strtocurr函数转化,有的时候结果为空,里面有值的呀
比如
var
str:string;
str1:curreny;
str:='23.12';
str1:=strtocurr(str);
而结果str1变成了6.888882323e+12或0。我想知道为什么出现这样的错误呢。这个函数有些什么限制呢。我看别人都这么用好象没问题。
高手请教 我用的是DELPH 6。
急急呀。这一个函数搞了1整天
比如
var
str:string;
str1:curreny;
str:='23.12';
str1:=strtocurr(str);
而结果str1变成了6.888882323e+12或0。我想知道为什么出现这样的错误呢。这个函数有些什么限制呢。我看别人都这么用好象没问题。
高手请教 我用的是DELPH 6。
急急呀。这一个函数搞了1整天
解决方案 »
- 求1名长在线的顾问,小弟给的不多500元1个月,要求见内容
- image控件增加鼠标移进和移出事件,除了建立一个Class外还有其它好办法吗?
- 本人想学习delphi,请老师!
- 怎樣讓窗體打開的時候是最大化的
- 有关窗口停靠(所谓"Dock技术")的一些问题,有经验的清进--------〉〉〉〉〉〉〉〉〉
- 刚用系统出问题,请高手支援,在线等待,分少可加
- 看看这个查询SQL语句该怎么写(在线等, 有正确答案立即给分)
- 谁能给一个使用SSL加密技术的例子?
- 如何在程序中向另外一个程序发送<回车键>?
- 不可琢磨的错误!!!!!!!!!!!!!!!!!!
- 重新登陆时如何关闭前面的事务
- TClientDataSet在post后修改数据状态变成了insert
我再说说:函数:求N个数X的平凡的和函数
function getXXALL(X:array of string):currency;
var
temp,tt:currency;
i:integer;
begin
temp:=0;
for i:=0 to lenggth(X)-1 do
begin
tt:=strtocurr(X[i])
tt:=tt*tt;
temp:=temp+tt;
end;
result:=temp;
end;调用:
X1: array of string;
X1X1,Y1Y1:currency;
begin
X1已经给值了,
X1X1:=getXXALL(X1);
Y1Y1:=GETXXALL(X1);
END;
结果。为什么X1X1是正确的,而Y1Y1却为0呢。
相同的调用。结果却这样。为什么呀。高手呀。帮帮我拉。
肯定显示的结果就是对的你在后面没有用到X1X1,Y1Y1所以结果就是不对的了,编译器优化了没去管它
D6,
x := strtocurr(edt1.text);
调试时,Edt1的值是"450",
可是X的值始终为"0",
后来好像换成: strtofloat();反正现在可以用了,记不清楚是用的strtocurr 还是 strtofloat.