FOXBASE一个不完善之处
(2)使用Z功能;
(3)模式符中有小数点;
例:STORE 0 TO A,B
@10,0 GET A PICT“@Z.99”
@11,0 GET B PICT“@Z9.99”
READ
对A的编辑输入了非零数值如12,A应为小数(0.12),但结果是A为整数12,并且显示溢出;
对B的编辑如果在未输入有效字符之前光标已在隐蔽的小数点之后(这种情况是容易发生的,如在A的编辑区直接将光标向下移),输入非零数值其结果与A犯同一错误,如果输入的数值位数没有超出格式的整数部分的长度,显示将不溢出,这种情形在操作时更不易发现。
笔者大致认为造成错误的原因是,由于使用了Z功能且变量值原为0,使得编辑文本(字符串)去掉了小数点,编辑完后Foxbase直接将这一文本转为数值,而没有加上小数点后才转换,自然结果就为整数。
建议定义带小数点的数值编辑格式时最好不要使用Z功能。
(后来笔者对Foxpro1.0测试,发现也存在同一问题)。(海南蔡宁)