请问高手。为什么我通过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整天
解决方案 »
- delphi2010下汉字与ASCII码之间的转换问题
- 在delphi中用ADO读取月excel数据时如某列大部分是数字时遇到汉字读不出来(在excel中已设为文本格式),请问怎么解决???急!!
- 已经得到了一组二维数组的值,怎么插入数据库?总报错,给分50
- dll问题
- 求一简单SQL
- 如何能在formshow的事件中让label.Canvas.TextOut能写出字来?
- 关于数据库的问题
- Delphi怎么通过调用网址传参数来发送短信?
- 为什么TQuery的SQL语句不能运行而在数据库却可以成功
- 有人知道Delphi中有关于正则表达式支持的类吗,第三方的也可以。(无内容)
- 重新登陆时如何关闭前面的事务
- 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.