VFP编程问题

clearinput'请输入重量(克):'towdocasecasew<=100c=w*0.05casew>100c=5+(w-100)*0.02endcase?'邮费为... clear
input '请输入重量(克):' to w
do case
case w<=100
c=w*0.05
case w>100
c=5+(w-100)*0.02
endcase
?'邮费为:'+STR(c,2)+'元'
return

运行程序后,只要输入1-9的数字,最后运算结果都是0,例如输入9,正确结果应该是0.45,可是出现的却是0.只有输入大于10的数后,才会出现准确的数,是哪里出了问题?要怎样改动才行?
展开
 我来答
liwenjuncn
2014-02-11 · TA获得超过4099个赞
知道大有可为答主
回答量:2717
采纳率:11%
帮助的人:1772万
展开全部
这是因为你没搞清楚STR函数的作用,STR函数可以是一个参数两个参数或三个参数,如果是一个参数就是将数c转换成10位的字符串,但只转换整数位,如STR(c);如果是两个参数,则第二个参数是转换后的字符串位数,但也只转换整数位,如STR(c,2),只将c的值整数部分转换成2位的字符;如果是三个参数,则第三个参数是小数位位数,如STR(c,6,2),是将c的值转换成5位字符串,其中小数部分2位。
所以你只要将这句 ?'邮费为:'+STR(c,2)+'元'
改为 ?'邮费为:'+STR(c,6,2)+'元'
其中的6是将c的值转换成的字符串位数,你这题因为要求有两位小数,所以第三个参数一定要是2,那么第二个参数一定要大于3,如果数c过大,你就可以将第二个参数适当大点。
nmxmym
2014-02-10 · TA获得超过260个赞
知道小有建树答主
回答量:521
采纳率:100%
帮助的人:319万
展开全部
?'邮费为:'+STR(c,4)+'元'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
86752100
2014-02-11 · 超过15用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:20.8万
展开全部
?'邮费为:'+STR(c,2)+'元',数据精度问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式