TC官方合作论坛

标题: 如何自动移除+替换字符串???求高手解答。。 [打印本页]

作者: xcen1029    时间: 2014-4-24 17:45
标题: 如何自动移除+替换字符串???求高手解答。。
我是想要这个功能:
自动替换掉百位数以下的数字为0
如:
在框1输入  123456.78 元  ,在框2会自动得出结果  123000 元,会自动把百位数以下的数字改为0,并且取掉小数点以后的数字
另一种情况就是  在框1输入  123456 元  ,在框2会自动得出结果  123000 元,没有小数
我想要的效果就是这样: 12345.1 = 12000  ,  123456 = 123000   ,  123456789.12 = 123456000
因为框1填的数字长度不一定,小数也有一位两位不一定,所以按字符长度也不实用,求高手帮下忙。。。谢了。。

作者: xijiahang    时间: 2014-4-24 18:36
111111111111111111111
作者: ulcel800    时间: 2014-4-24 18:46
本帖最后由 ulcel800 于 2014-4-24 18:48 编辑

  [attach]15568[/attach]  返回值=数组[2]
    编辑框内容=编辑框.获得文本("编辑框0")
    是否有点=字符串.查找字符串(编辑框内容,".")//没找到"."返回-1
    调试输出(是否有点)
    如果(是否有点==-1)
        长度=字符串.长度(编辑框内容)//先查看长度 是几位数
        调试输出("长度:"&长度)
        如果(长度>3)
            字串=字符串.移除(编辑框内容,3,假)//把后面三位数移除
            编辑框.设置文本("编辑框1",字串&"000") //在后面加上三0
        如果结束
    否则//有点就运行否则里面的代码
        是否成功=字符串.分割(编辑框内容,".",返回值)
        调试输出(返回值[0])
        长度=字符串.长度(返回值[0])
        调试输出("长度:"&返回值[0])
        如果(长度>3)
            字串=字符串.移除(返回值[0],3,假)
            编辑框.设置文本("编辑框1",字串&"000")
        如果结束
    如果结束



作者: xcen1029    时间: 2014-4-24 19:22
ulcel800 发表于 2014-4-24 18:46
返回值=数组[2]
    编辑框内容=编辑框.获得文本("编辑框0")
    是否有点=字符串.查找字符串(编辑框内 ...

谢了。。。可以用了。。。
作者: cylhb    时间: 2014-4-24 22:55
其实问题想得太复杂了,。一句代码就可以了

类型.取整(123456789.12/1000)*1000

自己变通,原理就是先把百位后变成小数,也就是除以1000,然后取整,最后再乘以1000。
作者: 250366688    时间: 2014-4-25 04:25
楼上同解。但是完善一点,把1000设置成变量,他也可以用该方法处理更大的麻烦
作者: 250366688    时间: 2014-4-25 04:27
但是楼上的代码书写有点问题
类型.取整((123456789.12/1000)*1000)
这杨貌似才对
作者: wqq343    时间: 2014-4-26 01:30
250366688 发表于 2014-4-25 04:27
但是楼上的代码书写有点问题
类型.取整((123456789.12/1000)*1000)
这杨貌似才对 ...

不懂没关系,出洋相就是自己找的。12345.12既然除以1000那又何必再乘回1000?干脆直接取整得了,你直接取整能整到后面3位为零吗?亲
作者: wqq343    时间: 2014-4-26 01:34
wqq343 发表于 2014-4-26 01:30
不懂没关系,出洋相就是自己找的。12345.12既然除以1000那又何必再乘回1000?干脆直接取整得了,你直接取 ...

我问你,(1000/1000)*1000=?
我直接就1000不好吗?在这乘来除去,小学生都会
作者: 250366688    时间: 2014-4-26 10:51
谢谢二b了


作者: hualaosi    时间: 2014-4-26 11:03
论坛里高手怎么那么多,论坛的目的不是要面红耳赤,是满载而归!!!!

轻松,自由,贡献,收益!!!

一个数嘛,,,如果要处理的数大于四位,则先除以1000,取整后再乘以1000,解决了楼主要解决的问题了。  cylhb 版的就应该是对的。




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1