易语言 四舍五入后保留3位小数点并 编辑框计算内容以10的X次方形式显示

易语言 四舍五入后保留3位小数点并 编辑框计算内容以10的X次方形式显示
常规的四舍五入 和保留几位小数点我会弄但如保留三位小数点的时候 0.0000xxxx这样的数就只显示0.000了 这种情况怎么办当出现千位和千分位时 能否当通过X.XXX*10x(x≤-3或x≥3)次方的形式表示呢 就是易言里的X.XXXe±00x 然后次方后 保留三位小数 怎么写 求教!
zuoshou110 1年前 已收到1个回答 举报

木叶旭 幼苗

共回答了25个问题采纳率:96% 举报

.版本 2
.子程序 _按钮1_被单击
.局部变量 文本, 文本型
.局部变量 内容, 文本型
.局部变量 次数, 整数型
.局部变量 长度, 整数型
.局部变量 次方, 整数型
.局部变量 小数点, 整数型
.局部变量 数值, 双精度小数型
.局部变量 绝对值, 双精度小数型
内容 = 编辑框1.内容
绝对值 = 取绝对值 (到数值 (内容))
.如果真 (绝对值 > 1000 或 绝对值 < 0.001)
.如果 (绝对值 > 1)
.如果 (到数值 (内容) < 1)
长度 = 取文本长度 (内容) - 1
.否则
长度 = 取文本长度 (内容)
.如果结束
文本 = 取文本右边 (内容, 长度)
.否则
小数点 = 寻找文本 (内容, “.”, , 假)
.如果真 (小数点 = -1)
小数点 = 0
.如果真结束
长度 = 取文本长度 (内容) - 小数点
文本 = 取文本右边 (内容, 长度)
.计次循环首 (取文本长度 (文本), 次数)
.如果真 (到数值 (取文本中间 (文本, 次数, 1)) ≠ 0)
跳出循环 ()
.如果真结束
.计次循环尾 ()
次方 = -次数
文本 = 取文本右边 (文本, 取文本长度 (文本) - 次数 + 1)
.如果结束
数值 = 到数值 (文本)
.计次循环首 (取文本长度 (文本), 次数)
.如果真 (数值 < 10)
跳出循环 ()
.如果真结束
数值 = 数值 ÷ 10
.计次循环尾 ()
.如果真 (次方 = 0)
次方 = 次数 - 1
.如果真结束
.如果真 (取符号 (到数值 (内容)) = -1)
数值 = -数值
.如果真结束
数值 = 四舍五入 (数值, 3)
编辑框2.内容 = 到文本 (数值) + “×10^” + 到文本 (次方)
返回 ()
.如果真结束
数值 = 四舍五入 (到数值 (内容), 3)
编辑框2.内容 = 到文本 (数值)

1年前 追问

10

zuoshou110 举报

前辈!

.子程序 _编辑框1_内容被改变
编辑框2= 到数值 (编辑框1.内容) × 1000
编辑框3= 到数值 (编辑框1.内容) × 2.3456
这个倍数应该在哪改 我自己改完了有逻辑问题 搞不太不明白 方便加你Q问下么

举报 木叶旭

".子程序 _编辑框1_内容被改变",就是当你在编辑框1中输入数字时触发的,加上下面的二句,
编辑框2.内容=到文本( 到数值 (编辑框1.内容) × 1000)
编辑框3.内容=到文本( 到数值 (编辑框1.内容) × 2.3456)
就是当你在编辑框1中输入数字,如1,编辑框2和编辑框3中同步显示倍数,1000和2.3456
如10,编辑框2和编辑框3中同步显示倍数,10000和23.456

zuoshou110 举报

这个我知道 前辈

我是想问 在上述关系的基础上 如何实现进3位*10^N次方的那个代码 我截图你看看

首先 编辑框KJ 显示不正确 其次 剩下4个怎么修改能实现结果以上面说的进3位*10^N次方显示 我搞不明白这个逻辑

举报 木叶旭

.版本 2
.子程序 __启动窗口_创建完毕
编辑框1.获取焦点 ()
.子程序 _编辑框1_失去焦点
.局部变量 内容数值, 双精度小数型
内容数值 = 到数值 (编辑框1.内容)
编辑框1.内容 = 格式文本 (到文本 (内容数值 × 1000000))
编辑框2.内容 = 格式文本 (到文本 (内容数值 ÷ 3.6))
编辑框3.内容 = 格式文本 (到文本 (内容数值 ÷ 3.6 × 1000))
编辑框4.内容 = 格式文本 (到文本 (内容数值 ÷ 4.1868))
编辑框5.内容 = 格式文本 (到文本 (内容数值 ÷ 4.1868 × 1000000))
.子程序 格式文本, 文本型
.参数 内容, 文本型
.局部变量 文本, 文本型
.局部变量 次数, 整数型
.局部变量 长度, 整数型
.局部变量 次方, 整数型
.局部变量 小数点, 整数型
.局部变量 数值, 双精度小数型
.局部变量 绝对值, 双精度小数型
绝对值 = 取绝对值 (到数值 (内容))
.如果真 (绝对值 ≥ 1 且 绝对值 < 10)
返回 (数值到格式文本 (四舍五入 (到数值 (内容), 3), 3, 假))
.如果真结束
.如果 (绝对值 > 1)

因字数超过,这部分同上回答的程序.
数值 = 四舍五入 (数值, 3)
.如果真 (次方 = 1)
返回 (到文本 (数值) + “×10”)
.如果真结束
返回 (到文本 (数值) + “×10^” + 到文本 (次方))
.子程序 _编辑框1_按下某键, 逻辑型
.参数 键代码, 整数型
.参数 功能键状态, 整数型
.如果真 (键代码 = #回车键)
_编辑框1_失去焦点 ()
.如果真结束
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.041 s. - webmaster@yulucn.com