/*
软件作者:https://xuhss.com/oxox/pro
*/
"ui";//必须在第一行否则报错
ui.layout(<frame>
<vertical padding="16">//vertical垂直布局
<input id="one" hint="第一个数"/>
<input id="two" hint="第二个数"/>
<radiogroup id="jz" orientation="horizontal">
<radio id="sl" text="十六进制"/>
<radio id="ba" text="八进制"/>
<radio id="er" text="二进制"/>
</radiogroup>
<radiogroup id="cho" orientation="horizontal">
<radio id="add" text="加"/>
<radio id="sub" text="减"/>
<radio id="mul" text="乘"/>
<radio id="div" text="除"/>
</radiogroup>
<button id="emu" text="计算结果!" style="Widget.AppCompat.Button.Colored"/>
<input id="a_result" hint="原进制计算结果"/>
<input id="t_result" hint="十进制计算结果"/>
<linear gravity="center">//linear水平显示
<button id="copy_a" style="Widget.AppCompat.Button.Colored" text="复制原进制结果"/>
<button id="copy_t" style="Widget.AppCompat.Button.Colored" text="复制十进制结果"/>
</linear>
</vertical>
</frame>);
ui.emu.click(() =>emul());
ui.copy_a.click(()=>{//ui.id.click(()=>代码)
var r=ui.a_result.text();
if(r){//判断非空再进行复制
setClip(r);
}
})
ui.copy_t.click(()=>{
var r=ui.t_result.text();
if(r){
setClip(r);
}
})
ui.jz.check(ui.sl.getId());
ui.cho.check(ui.add.getId());
//设定为默认选择第一个
function emul() {
var num1 = ui.one.text();
var num2 = ui.two.text();
var jz;
switch (ui.jz.getCheckedRadioButtonId()) {
//判断选择的进制
case ui.sl.getId():
jz = 16;
break;
case ui.ba.getId():
jz = 8;
break;
case ui.er.getId():
jz = 2;
break;
}
switch (ui.cho.getCheckedRadioButtonId()) {
//判断选择的运算方式
case ui.add.getId():
type = 1;
break;
case ui.sub.getId():
type = 2;
break;
case ui.mul.getId():
type = 3;
break;
case ui.div.getId():
type = 4;
break;
}
if (!num1 || !num2 || !type || !jz) {
alert("请输入完整数据!");
return null;
}
var num1_t = parseInt(num1, jz);
var num2_t = parseInt(num2, jz); //转成10进制
log(num1_t)
if(num1_t.toString()=="NaN"||num2_t.toString()=="NaN"){
//转换失败
alert("请检查输入的数据是否是选择的相应进制!");
return ;
}
var result;
switch (type) {
case 1:
result = num1_t + num2_t;
break;
case 2:
result = num1_t - num2_t;
break;
case 3:
result = num1_t * num2_t;
break;
case 4:
result = num1_t / num2_t;
break;
}
//return result;
ui.t_result.text(result.toString());
ui.a_result.text((parseInt(result).toString(jz)).toUpperCase());
}
[虚幻私塾】
- 粉丝: 337
- 资源: 1558
最新资源
- counter up的模块使用
- abaqus数值模拟案例系列-随机纤维分布二维RVE模型微观横向拉伸损伤,设置了周期边界,采用Drucker-Prager(dp)准则,Ductile-Damage延性损伤,界面采用cohesive单
- 2- 批量图片下载器 Extreme Picture
- UML建模语言中的在线购物系统用例图设计与解析
- 编程语言下高效多项式求值算法-基于霍纳法则的实现
- COMSOL瓦斯抽采,二氧化碳封存,躯替,多物理场耦合方面 lunwen复现
- python爬虫图片程序
- 操作系统中银行家算法的C与Python实现及其在资源分配与死锁预防的应用
- 内网渗透体系建设.pdf
- 本项目是IntelliJ IDEA的插件,能帮助java开发者自动生成javadoc文档注释
- 高中英语常见词组与搭配详解
- 基于扰动观测器的伺服系统摩擦补偿Matlab仿真 1.模型简介 模型为基于扰动观测器的摩擦补偿仿真,仿真基于永磁同步电机速度、电流 双闭环控制结构开发,双环均采用PI控制,PI参数已经调好 仿
- 四六级词汇必备:全面掌握高频短语及其含义
- 手机外壳加工打磨单元sw20全套技术资料100%好用.zip
- Comsol连续体中的束缚态BIC 涉及能带计算与Q因子计算,包含一维光栅和二维光子晶体板 注: 不包含拓扑荷计算
- 轻量级截图与录屏神器,解压即用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈