易语言编辑框输入数字取开头的数字
点击按钮后,编辑框2中的内容为 1×10+2×10^2+3×10^4……
即如何从数字左边开始取数字,然后逐一向右推进循环运算。
问题之一是,如果编辑框1中无内容,需要输出的是输入内容相应计算的值,如果编写程序。 展开
.版本 2
.程序集 窗口程序集1
.程序集变量 文本, 文本型, , "0"
.程序集变量 计次, 整数型
.程序集变量 数值, 双精度小数型
.子程序 __启动窗口_创建完毕
编辑框1.输入方式 = 3
.子程序 _按钮1_被单击
.如果真 (编辑框1.内容 = “”)
编辑框2.内容 = “0”
返回 ()
.如果真结束
.计次循环首 (取文本长度 (编辑框1.内容), 计次)
加入成员 (文本, 取文本中间 (编辑框1.内容, 计次, 1))
.计次循环尾 ()
.计次循环首 (取数组成员数 (文本), 计次)
.如果 (计次 = 1)
编辑框2.加入文本 (文本 [1], “×10”)
.否则
编辑框2.加入文本 (文本 [计次], “×10^”, 到文本 (到整数 (求次方 (2, 计次 - 1))))
.如果结束
.如果真 (取数组成员数 (文本) ≠ 计次)
编辑框2.加入文本 (“+”)
.如果真结束
.计次循环尾 ()
没明白编辑框1中内容,要输出输入内容应计算的值,既然没有内容那又如何计算呢,所以我给用了三个编辑框:
.版本 2
.程序集 窗口程序集_启动窗口
.子程序 _按钮1_被单击
.局部变量 次数, 整数型
.局部变量 加号, 文本型
.局部变量 输出到编辑框, 文本型
.局部变量 计算结果, 整数型
.如果真 (编辑框1.内容 = “”)
信息框 (“请输入内容”, 0, , )
返回 ()
.如果真结束
.计次循环首 (取文本长度 (编辑框1.内容), 次数)
.如果 (次数 = 1)
加号 = “”
.否则
加号 = “+”
.如果结束
输出到编辑框 = 输出到编辑框 + 加号 + 取文本右边 (取文本左边 (编辑框1.内容, 次数), 1) + “×10^” + 取文本右边 (取文本左边 (编辑框1.内容, 次数), 1)
计算结果 = 计算结果 + 到整数 (取文本右边 (取文本左边 (编辑框1.内容, 次数), 1)) × 求次方 (10, 到整数 (取文本右边 (取文本左边 (编辑框1.内容, 次数), 1)))
.计次循环尾 ()
编辑框2.内容 = 子文本替换 (输出到编辑框, “10^1”, “10”, , , 真)
编辑框3.内容 = 到文本 (计算结果)