-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathNumber类型.html
194 lines (151 loc) · 6.39 KB
/
Number类型.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Number类型</title>
</head>
<body>
<script type="text/javascript">
/*
Number类型:
1、Number类型属于原始类型。
2.Number类型的值有哪些?
-1
0
1
3.14
2.0
NaN
Infinity
...
3.NaN是什么?
Not a Number,表示不是一个数字
但是NaN是一个数值,他属于Number类型
4.什么情况下是NaN?
当一个数学表达式的运算结果本因该返回一个数字,
但是无法返回一个数字的时候,结果是NaN。
5. Infinity是无穷大,当除数是0的时候,最终会结果为无穷大。
6. jS中的Number类型代表了java中:
byte short int long float double
*/
var i = NaN;
console.log(typeof i) // number
// 下边的语法在java中是不允许出现的,直接报错,不会出现结果
// 在JS中,可以计算出一个结果,这个结果就是:NaN
// JS检测到 "/" 是一个除号,最终返回的肯定是一个数字,
// 但是下边的算是计算不出来数字,所以就返回NaN.
var result = 100 / "中";
console.log(result); // NaN
console.log(typeof result) // number
// 在JS中 + 既可以参与加法运算,也可以拼接字符串
// 看加号的两边是什么类型,如果是两个数字类型,那么就是用于加法运算
// 如果两边有一个或者多个字符串,就进行字符串的拼接。
var s = "中" + 100;
console.log(s); // 中100
var x = 1 + 2;
console.log(x); // 3
// 测试一下Infinity是什么数据类型
var w = Infinity;
console.log(typeof w);
// 100除以0的结果是无穷大,所以最后的值返回Infinity
// 在java中下边的语句会报错,分母不能为0,但是在JS中会返回Number类型的Infinity
var u = 100 / 0;
console.log(u); // Infinity
</script>
<script type="text/javascript">
/*
7. 在Number类型这一块,有一个函数叫做:isNaN()函数。
这个函数最终返回布尔类型,返回true表示是一个数字,
返回false表示是一个数字。
isNaN : is Not a Number
true: 表示不是一个数字
false: 表示是一个数字
isNaN(数据) : 这个函数有一个特点,它首先尝试将"数据"转换成
数字,如果转换失败了,则结果就是true,转换成功了,
那么就是false。
isNaN 这个函数是干什么的?
就是用来判断"数据"是否是一个数字。
8. 在Number类型的这一块,有一个函数叫做:Number()函数 ,
这个函数的作用可以将不是数字类型的数据转换成数字数据类型。
9. parseInt()函数:将字符串转换为数字,并去除小数位,取整,向上取整。
10. Math.ceil()函数 :这是一个Math工具类中的一个函数,向上取整。
*/
/* isNaN():判断数据是否是一个数字 */
// 定义一个关于使用isNaN()函数的函数
function sum(x,y){
console.log(isNaN(x));
console.log(isNaN(y));
}
/* Number()函数 :将其他数据类型转化为数字 */
// 下边定义一个使用Number()函数的函数
function sum1(x,y){
if(isNaN(x) || isNaN(y)){
window.alert("对不起,参与求和的必须是两个数字");
}else{
window.alert(Number(x) + Number(y));
}
}
/*
调用sum1()这个函数进行测试,Number()函数的用法。
function sum1(x,y){
if(isNaN(x) || isNaN(y)){
alert("对不起,参与求和的必须是两个数字");
}else{
alert(x + y);
}
}
如果不使用Number()函数会发生字符串的拼接
此时 + 号的作用是拼字符串
显示的结果为:1102
sum1("110",2); // 1102
function sum1(x,y){
if(isNaN(x) || isNaN(y)){
alert("对不起,参与求和的必须是两个数字");
}else{
alert(Number(x) + Number(y));
}
}
如果使用Number()函数不会发生字符串的拼接
此时 + 号的作用是进行数字的求和运算
显示的结果为:112
sum1("110",2); // 112
*/
sum1("110",2); // 112
sum1(true,1); // 2
// 这个例子更加直观的可以看出Number()函数的作用
// 使用Number会将字符串转换为数字,然后进行数字相加
// 不使用Number会字符串转换为数字,进行字符串拼接
alert("123" + 2); // 1232
alert(Number("123") + 1) // 124
console.log(Number("中国")); //NaN
/* paeseInt()函数:去除小数部分 */
var s1 = "128.123";
// 需求:将以上字符串转换为数字,并去除小数位。(使用paeseInt()函数)
var num = parseInt(s1); // 不存在四舍五入,直接去保留整数位。
console.log(num); // 128
console.log(num + 100); //228
// 注意:在JS代码中,下边的标识符可以写成和上边一样的标识符,不会报错。
var s1 = "128.456呵呵"; // 这样写可以去除呵呵二字。
var num = parseInt(s1);
console.log(num); // 128
var s2 = "呵呵128.456"; // 这样写不会去除前边的呵呵
// 需求:将以上字符串转换为数字,并去除小数位。(使用paeseInt函数)
var num1 = parseInt(s2);
console.log(num1); // NaN
/* ceil()函数:向上取整 */
// 向上取整:使用JS内置的Math这个数学类,Math数字类中有一个函数叫做ceil()
console.log(Math.ceil(123.000)); // 123
console.log(Math.ceil(123.001)); // 124
/* JS中 10/3 等于几? */
console.log(10 / 3); // 3.3333333333333335
</script>
<!-- 结果:false false 此时可以将 true 转换为数字1,所以结果为:false-->
<input type="button" value="true + 100" onclick="sum(true,100)"/>
<!-- 结果:true false 此时不可以将字符串 “中国” 转换为数字,所以结果为:true-->
<input type="button" value="'中国' + 100" onclick="sum('中国',100)"/>
<!-- 结果:false false 此时可以将字符串 “123” 转换为数字,所以结果为 :false -->
<input type="button" value="'123' + 100" onclick="sum('123',100)"/>
<!-- 结果:false false 此时都是数字,返回false-->
<input type="button" value="100 + 100" onclick="sum(100,100)">
</body>
</html>