JavaScript里面的居民们1-数据

编码

首先练习数字相关的一些操作:

<div><label>Number A:<input id="radio-a" type="radio" name="math-obj" value="a"></label><input id="num-a" type="text"> <label>Number B:<input id="radio-b" type="radio" name="math-obj" value="b"></label><input id="num-b" type="text"> </div> <div> <button>判断当前选中的输入框输入内容是否为数字</button> <button>把 A 四舍五入为 B 个小数位数的数字</button> <button>当前选中数字的绝对值</button> <button>对当前选中的数字进行上舍入</button> <button>对当前选中的数字进行下舍入</button> <button>把当前选中的数字四舍五入为最接近的整数</button> <button>返回 A 和 B 中的最高值</button> <button>返回 A 和 B 中的最低值</button> </div> <p id="result"></p> 

基于如上HTML,实现需求

  • 按照HTML中按钮的描述以此实现功能
  • 计算结果显示在 id 为 result 的 P 标签中
  • 除了第一个按钮,其它按钮操作时,都需要判断输入是否为数字,否则在 console 中输出错误信息
  1 <!DOCTYPE html>
  2 <html>
  3 
  4 <head>
  5     <meta charset="utf-8" />
  6     <title>JS里的居民们1</title>
  7 
  8 </head>
  9 
 10 <body>
 11     <div>
 12         <label>Number A:<input id="radio-a" type="radio" name="math-obj" value="a"></label><input id="num-a" type="text">
 13         <label>Number B:<input id="radio-b" type="radio" name="math-obj" value="b"></label><input id="num-b" type="text">
 14     </div>
 15     <div>
 16         <button>判断当前选中的输入框输入内容是否为数字</button>
 17         <button>把 A 四舍五入为 B 个小数位数的数字</button>
 18         <button>当前选中数字的绝对值</button>
 19         <button>对当前选中的数字进行上舍入</button>
 20         <button>对当前选中的数字进行下舍入</button>
 21         <button>把当前选中的数字四舍五入为最接近的整数</button>
 22         <button>返回 A 和 B 中的最高值</button>
 23         <button>返回 A 和 B 中的最低值</button>
 24     </div>
 25     <p id="result"></p>
 26 
 27     <script>
 28         //定义常量
 29         const numA = document.getElementById("num-a");
 30         numB = document.getElementById("num-b");
 31         radioA = document.getElementById("radio-a");
 32         radioB = document.getElementById("radio-b");
 33         buttons = document.getElementsByTagName("button"); //按钮数组
 34         p = document.getElementById("result");
 35         //定义数字检查
 36         function isNumber(num) {
 37             if (!isNaN(num.value) && num.value != "") {
 38                 return true;
 39             } else {
 40                 return false;
 41             }
 42         }
 43         //定义勾选检查
 44         function isCheck(check) {
 45             if (check.checked) {
 46                 return true;
 47             } else {
 48                 return false;
 49             }
 50         }
 51         //按钮1监听点击,实现判断当前选中的输入框输入内容是否为数字
 52         buttons[0].addEventListener("click", function () {
 53             if (isCheck(radioA)) {
 54                 if (isNumber(numA)) {
 55                     p.innerHTML = "这是一个数字";
 56                 } else {
 57                     p.innerHTML = "这不是一个数字";
 58                     console.log("这不是一个数字哈!");
 59                 }
 60             }
 61             if (isCheck(radioB)) {
 62                 if (isNumber(numB)) {
 63                     p.innerHTML = "这是一个数字";
 64                 } else {
 65                     p.innerHTML = "这不是一个数字";
 66                     console.log("这不是一个数字哈!");
 67                 }
 68             }
 69         })
 70         //按钮2监听点击,实现把A四舍五入为B个小数位数的数字
 71         buttons[1].addEventListener("click", function () {
 72             if (isNumber(numA) && isNumber(numB)) {
 73                 var A = parseFloat(numA.value);
 74                 p.innerHTML = A.toFixed(parseInt(numB.value));
 75             } else {
 76                 console.log("必须均为数字哦!")
 77             }
 78         })
 79         //按钮3监听点击,实现当前选中数字的绝对值
 80         buttons[2].addEventListener("click", function () {
 81             if (isCheck(radioA)) {
 82                 if (isNumber(numA)) {
 83                     p.innerHTML = Math.abs(Number(numA.value));
 84                 } else {
 85                     console.log("非数字!");
 86                 }
 87             }
 88             if (isCheck(radioB)) {
 89                 if (isNumber(numB)) {
 90                     p.innerHTML = Math.abs(Number(numB.value));
 91                 } else {
 92                     console.log("非数字!");
 93                 }
 94             }
 95         })
 96         //按钮4监听点击,实现对当前选中的数字进行上舍入
 97         buttons[3].addEventListener("click", function () {
 98             if (isCheck(radioA)) {
 99                 p.innerHTML = Math.ceil(Number(numA.value));
100             }
101             if (isCheck(radioB)) {
102                 p.innerHTML = Math.ceil(Number(numB.value));
103             }
104         })
105         //按钮5监听点击,实现对当前选中的数字进行下舍入
106         buttons[4].addEventListener("click", function () {
107             if (isCheck(radioA)) {
108                 p.innerHTML = Math.floor(Number(numA.value));
109             }
110             if (isCheck(radioB)) {
111                 p.innerHTML = Math.floor(Number(numB.value));
112             }
113         })
114         //按钮6监听点击,实现把当前选中的数字四舍五入为最接近的整数
115         buttons[5].addEventListener("click", function () {
116             if (isCheck(radioA)) {
117                 p.innerHTML = Math.round(Number(numA.value));
118             }
119             if (isCheck(radioB)) {
120                 p.innerHTML = Math.round(Number(numB.value));
121             }
122         })
123         //按钮7监听点击,实现返回A和B中的最高值
124         buttons[6].addEventListener("click", function () {
125             p.innerHTML = Math.max(Number(numA.value), Number(numB.value));
126         })
127         //按钮8监听点击,实现返回A和B中的最小值
128         buttons[7].addEventListener("click", function () {
129             p.innerHTML = Math.min(Number(numA.value), Number(numB.value));
130         })
131     </script>
132 </body>
133 
134 </html>

注意点:Math.round()判断有小数点大于等于0.5的,向上取整数。比如Math.round(-1.5)=-1;Math.round(1.5)=2

转载于:https://www.cnblogs.com/Joe-and-Joan/p/10065492.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GCC + pthread

多线程介绍POSIX 1003.1-2001 定义了多线程编程的标准API。这个API就是广为人知的pthreads。它的目的在于为跨平台编写多线程程序提供便利。本文介绍了Linux 和 WIN32 平台下的多线程程序的编写方法Linux 系统对 pthreads 提供了良好的支持。一般地安装完Linux系统后在/usr/inc…

MATLAB的size、length函数

size&#xff08;&#xff09;&#xff1a;获取矩阵的行数和列数 &#xff08;1&#xff09;ssize(A), 返回一个行向量&#xff0c;该行向量的第一个元素是矩阵的行数&#xff0c;第二个元素是矩阵的列数。 &#xff08;2&#xff09;[r,c]size(A), 当有两个输出参数…

python两个时间内的工作日_如何在Python中找到两个日期之间的星期一或任何其他工作日的数目?...

这是高效的-即使在开始和结束之间有一万天的时间-而且仍然非常灵活(它在sum函数内最多迭代7次)&#xff1a;def intervening_weekdays(start, end, inclusiveTrue, weekdays[0, 1, 2, 3, 4]):if isinstance(start, datetime.datetime):start start.date() # make a date from …

JS--继承

构造函数、原型、实例、原型链之间的联系 描述&#xff1a;每个构造函数都有一个原型对象&#xff1b; 每个原型对象都有一个指针&#xff0c;指向构造函数&#xff1b; 每个实例对象都有一个内部指针&#xff0c;指向原型对象&#xff1b; 若此时的原型对象是另一个类型的实例…

Linux C/C++多线程pthread实例

inux中C/C开发多线程程序多遵循POSIX线程接口&#xff08;也就是pthread&#xff09;&#xff0c;pthread涉及函数很多个&#xff08;更多参见pthread.h头文件&#xff09;&#xff0c;常用的有pthread_create、pthread_dispath、pthread_mutex_lock&#xff08;互斥锁定&#…

python 横向合并_使用Python横向合并excel文件的实例

起因&#xff1a;有一批数据需要每个月进行分析&#xff0c;数据存储在excel中&#xff0c;行标题一致&#xff0c;需要横向合并进行分析。数据示意&#xff1a;具有多个代码&#xff1a;# -*- coding: utf-8 -*-"""Created on Sun Nov 12 11:19:03 2017author:…

javafx游戏_JavaFX游戏(四连环)

javafx游戏这是我的第一个JavaFX游戏教程&#xff0c;也是我关于JavaFX面板的第一篇博客文章。 我仅用200几行代码就完成了这四款连接游戏&#xff0c;足以应付一个简单的游戏。 我在这里使用GridPane面板对磁盘进行布局&#xff0c;GridPane是JavaFX布局窗格之一&#xff0c;但…

Matlab的sort函数

1、Matlab自带排序函数sort用法 [Y,I] sort(X,DIM,MODE) sort函数默认Mode为ascend为升序&#xff0c;sort(X,descend)为降序排列。 sort(X)若X是矩阵&#xff0c;默认对X的各列进行升序排列 sort(X,dim) dim1时等效sort(X)dim2时表示对X中的各行元素升序…

django HttpResponse的用法

一、传json字典 def back_json(rquest):#JsonResponse父类是HttpResponse&#xff0c;原码里调用了json.dumps()from django.http import JsonResponseback_msg {name:name,age:123}return JsonResponse(back_msg) 二、传列表 def back_json(rquest):#JsonResponse父类是HttpR…

gcc/g++ 链接库的编译与链接

程序编译一般需要经预处理、编译、汇编和链接几个步骤。在实际应用中&#xff0c;有些公共代码需要反复使用&#xff0c;就把这些代码编译成为“库”文件。在链接步骤中&#xff0c;连接器将从库文件取得所需的代码&#xff0c;复制到生成的可执行文件中&#xff0c;这种库称为…

Speedment 3.0的新功能

如果您关注我的博客&#xff0c;那么您会知道我已经参与开源项目Speedment已有一段时间了。 在夏季和秋季&#xff0c;我完成了工具包的下一个3.0.0大型发行版的大量工作。 在这篇文章中&#xff0c;我将展示我们已经在平台中内置的一些很酷的新功能&#xff0c;并说明如何入门…

Matlab在坐标点上按顺序标序号

程序一&#xff1a; clear x[1 3 7 10]; y[2 4 9 43]; plot(x,y,r-) hold on for i1:4%用这个循环cnum2str(i);c[ ,c];text(x(i),y(i),c) end axis([0 10 0 50]) 程序二&#xff1a; xrand(10,1)*10; yrand(10,1)*10; %x,y表示任意10个点的坐标 plot(x,y,*); for i1:10text(x(…

python表情符号编码大全_Emoji的编码以及常见问题处理

我在虎嗅上看过一篇关于Emoji的趣闻, 特别有意思, 在这里跟大家分享一下。里面提到了Emoji是怎么诞生的。1999年前后&#xff0c;日本一个名叫栗田穰崇的年轻人&#xff0c;和许多直男一样&#xff0c; 给女友发的短信经常会被误解。比如&#xff0c;“知道了”被解读成“生气了…

机器学习套路三步走

机器学习的套路 1.model如何对现实的场景进行抽象2.model如何对参数进行求解3.model的效果如何评价1.抽象 例如线性回归&#xff0c;就是认为预测变量y和特征X之间存在线性关心&#xff0c;老掉牙的例子就是房价和地区收入&#xff0c;人口密度等等的线性关系 线性回归的数学假…

C及opencv指针释放问题

一个图像处理的项目运行时没有问题&#xff0c;最后关掉显示的图片时提醒触发一个断点&#xff0c;点击继续则出现以下画面&#xff1a;断点停留在释放指针的那一行。究其原因如下&#xff1a; 1.错用free释放IplImage* IplImage* input cvLoadImage("data/LOGO/2_1.jpg&…

gcc/g++基本命令简介

gcc & g现在是gnu中最主要和最流行的c & c编译器 。 g是c的命令&#xff0c;以.cpp为主&#xff0c;对于c语言后缀名一般为.c。这时候命令换做gcc即可。其实是无关紧要的。 其实编译器是根据gcc还是g来确定是按照C标准还是C标准编译链接。 下面以Test.cpp为例&#x…

python返回长度值_Python 文件 truncate() 方法(截断返回截取长度)

概述Python 文件 truncate() 方法用于截断文件并返回截断的字节长度。指定长度的话&#xff0c;就从文件的开头开始截断指定长度&#xff0c;其余内容删除&#xff1b;不指定长度的话&#xff0c;就从文件开头开始截断到当前位置&#xff0c;其余内容删除。语法truncate() 方法…

Opencv中IplImage的四字节对齐问题

一、结构解释IplImage数据结构体中有两个宽度&#xff1a;1 是width属性&#xff0c;表示图像的每行像素数&#xff1b;2 是widthStep属性&#xff0c;表示存储一行像素需要的字节数。在OpenCV里边&#xff0c;widthStep必须是4的倍数&#xff0c;从而实现字节对齐&#xff0c;…

庞佐错觉_水晶球错觉

庞佐错觉我注意到人们有时会避免进行彻底的测试。 对于某些人来说&#xff0c;这听起来像是伪造的&#xff0c;但请听我说…… 测试会产生被困的感觉&#xff0c;每引入一个新的测试&#xff0c;负担就会加重。 建立稳定&#xff0c;无干扰且质量保证的测试套件是一项艰巨的任务…

静态编译和动态编译区别

静态函数库 一般扩展名为&#xff08;.a&#xff09;,这类的函数库通常扩展名为libxxx.a 。 这类函数库在编译的时候会直接整合到程序中&#xff0c;所以利用静态函数库编译成的文件会比较大&#xff0c;这类函数库最大的优点就是编译成功的可执行文件可以独立运行&#xff0c;…