| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 279 人关注过本帖
标题:这段代码该如何修改达到要求?
只看楼主 加入收藏
dary1125
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-10-18
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
这段代码该如何修改达到要求?
本人非编程出身,近期写了一段游戏测试脚本,但总感觉取值不合适,虚心向各位大神请教。
val小于十万,则直接输出数值
val大于等于十万,则保留两位小数,输出xx.xx万,如12.35万;
val大于等于百万,则保留两位小数,输出xxx.xx万,如120.35万;
依次类推,直到上亿则更换计算单位。下面这段代码该如何修改?

   
程序代码:
if(val >= 1e8) then
    return ("%.2f亿"):format(val / 1e8)
    elseif(val >= 1e5) then
    return ("%.2f万"):format(val / 1e5)
    else
    return ("%d"):format(val)
    end


[ 本帖最后由 dary1125 于 2014-10-18 14:06 编辑 ]
搜索更多相关主题的帖子: 如何 游戏 
2014-10-18 14:02
hackrol
Rank: 4
来 自:世界和平组织
等 级:业余侠客
帖 子:62
专家分:267
注 册:2014-9-6
收藏
得分:20 
这个不是C吧..
如果是C可以这么写
double val;
if(val>=1e8)printf("%.2lf亿",val/1e8);
else if(val>=1e5)printf("%.2lf万",val/1e5);
else printf("%.0lf",val);


如果你定义的val是int 的..有个上限,好像是2亿..
那么应该改成这样
int val;
if(val>=1e8)printf("%.2lf亿",(double)val/1e8);
else if(val>=1e5)printf("%.2lf万",(double)val/1e5);
else printf("%d",val);


[ 本帖最后由 hackrol 于 2014-10-18 14:52 编辑 ]
2014-10-18 14:51
快速回复:这段代码该如何修改达到要求?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018284 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved