a252551102 发表于 2021-4-16 11:52

易语言简单计算器结果保留小数点后2位

想用易语言做个简单的计算器,想请教各位大佬两件事:
①现在想让计算出来的结果保留小数点后2位,不四舍五入,即使是为0也保留,列:X.XX
②想让计算出来的结果:正数前面出现+号,负数前面出现-号,列:+X.XX或-X.XX

zhangxc1989 发表于 2021-4-17 00:10

.版本 2

.程序集 窗口程序集_启动窗口

.子程序 __启动窗口_创建完毕




.子程序 _按钮1_被单击
.局部变量 正则, 正则表达式类
.局部变量 结果, 双精度小数型

结果 = 到数值 (编辑框2.内容) - 到数值 (编辑框1.内容)
正则.创建 (“\d+\.\d{2}”, 到文本 (结果))
正则.取匹配文本 (1)
.如果 (正则.取匹配文本 (1) = “”)
    .如果 (结果 < 0 且 取文本长度 (到文本 (结果)) = 4)
      编辑框3.内容 = “-” + 到文本 (结果) + “0”' 小数点数位为1的 负数值
    .否则

    .如果结束

    .如果 (结果 < 0 且 取文本长度 (到文本 (结果)) = 2)
      编辑框3.内容 = “-” + 到文本 (结果) + “.00”' 小数点数位为0的 负数值
    .否则

    .如果结束

.否则
    .判断开始 (结果 < 0 且 取文本长度 (到文本 (结果)) = 5)' 小数点数位为2的 负数值
      编辑框3.内容 = “-” + 正则.取匹配文本 (1)
    .默认
      编辑框3.内容 = “+” + 正则.取匹配文本 (1)
    .判断结束

.如果结束

.如果 (正则.取匹配文本 (1) = “”)
    .如果 (结果 ≥ 0 且 取文本长度 (到文本 (结果)) = 3)
      编辑框3.内容 = “+” + 到文本 (结果) + “0”' 小数点数位为1的 正数值
    .否则

    .如果结束

    .如果 (结果 ≥ 0 且 取文本长度 (到文本 (结果)) = 1)
      编辑框3.内容 = “+” + 到文本 (结果) + “.00”' 小数点数位为0的 正数值
    .否则

    .如果结束

.否则
    .判断开始 (结果 ≥ 0 且 取文本长度 (到文本 (结果)) = 4)' 小数点数位为2的 正数值
      编辑框3.内容 = “+” + 正则.取匹配文本 (1)
    .默认
      编辑框3.内容 = “-” + 正则.取匹配文本 (1)
    .判断结束

.如果结束


a252551102 发表于 2021-4-18 11:40

谢谢各位大佬的热心帮助,本人纯纯小白一枚,用的15楼源码,已经可以使用了。
另附精易模块https://wwa.lanzouj.com/ioWdwo8nuni 密码:apzw
安装方法如图:







八月未央 发表于 2021-4-16 11:54

第一个,用四舍五入以后,判断结果是否包含小数点,不包含,则在结果后面加字符串 .00
第二个,判断结果为大于0还是小于0。大于0则把结果在前面加+。小于0 则把结果在前面加-

a252551102 发表于 2021-4-16 11:59

八月未央 发表于 2021-4-16 11:54
第一个,用四舍五入以后,判断结果是否包含小数点,不包含,则在结果后面加字符串 .00
第二个,判断结果为 ...

大佬能帮吗写下码吗{:1_893:}

aonima 发表于 2021-4-16 12:04

用浮点运算就行了

闷骚小贱男 发表于 2021-4-16 12:49

如果真(结果=0)
   返回("0.00")

如果真(结果<0)
   返回("-"+到文本(结果))

如果真(结果>0)
   返回("+"+到文本(结果))

a252551102 发表于 2021-4-16 13:31

闷骚小贱男 发表于 2021-4-16 12:49
如果真(结果=0)
   返回("0.00")



按照您的写法,提示错误(10044): 不能将“文本型”数据转换到“整数型”数据。
能不能再详细的说说

lorzl 发表于 2021-4-16 13:33

应该有Format属性吧

a252551102 发表于 2021-4-16 14:28

闷骚小贱男 发表于 2021-4-16 12:49
如果真(结果=0)
   返回("0.00")



如图从如果真开始就报错

决不放弃 发表于 2021-4-16 14:34

a252551102 发表于 2021-4-16 14:28
如图从如果真开始就报错

你也太小白了吧,这基础,他给你代码参考,你都看不懂。
你这按钮被单击事件又没有返回值,你返回个文本型 不报错就怪了

wxf2288 发表于 2021-4-16 14:39

.版本 2


编辑框3.内容 = 数值到格式文本 (到数值 (编辑框1.内容) ÷ 到数值 (编辑框2.内容), 2, 假)


编辑框6.内容 = 数值到格式文本 (到数值 (编辑框4.内容) - 到数值 (编辑框5.内容), 2, 假)


编辑框9.内容 = 数值到格式文本 (到数值 (编辑框7.内容) + 到数值 (编辑框8.内容), 2, 假)


编辑框12.内容 = 数值到格式文本 (到数值 (编辑框11.内容) × 到数值 (编辑框10.内容), 2, 假)
https://attach.52pojie.cn//forum/202104/16/143927zd1111k5hshwzcd1.png?l
页: [1] 2
查看完整版本: 易语言简单计算器结果保留小数点后2位