JScript 支持整数和浮点数。整数可以为正数、0 或者负数;浮点数可以包含小数点、也可以包含一个 "e"(大小写均可,在科学记数法中表示“10的幂”)、或者同时包含这两项。这些数遵循数值表示的 IEEE 754 标准。最后,还有一些特殊的数值:
- NaN,即不是一个数
- 正无穷
- 负无穷
- 正数 0
- 负数 0
整数可以以 10 (十进制)、8 (八进制)和 16 (十六进制)作为基数来表示。
八进制整数用一个前导 "0" 指明,并可以包含从 0 到 7 的数字。如果某个数字有一个前导 "0" 但是又包含数字 "8"和/或 "9",则该数字是一个十进制数。如果一个应该为八进制的数中包含了字母 "e" (或 "E") 将会产生一个错误。
十六进制("hex") 整数用前导 "0x" 指明(其中的 "X" 大小写均可),并且可以包含从 0 到 9 的数字以及从 A 到 F 的字符(字母的大小写均可)。字母 "e" 在十六进制记数法中是一个允许的数字,但并不是表示这是一个指数。字母 A 到 F 是作为单个的数字,用来表示以 10 为基数的 10 到 15 这些数。也就是说,0xF 等于 15,而 0x10 就等于 16。
八进制数和十六进制数可以是负数,但不能是小数。一个以单个 "0" 开头并包含一个小数点的数是一个十进制的浮点数;如果一个数以 "0x" 或 "00"开头并包含一个小数点,则该小数点右边的任何数都将被忽略。
一些示例:
.0001, 0.0001, 1e-4, 1.0e-4 // 四个浮点数,它们互等。
3.45e2 // 一个浮点数,等于 345。
42 // 一个整数。
0377 // 一个八进制整数,等于255。
00.0001 // 由于八进制数不能有小数部分,因此这个数等于 0。
0378 // 一个整数,等于 378。
0Xff // 一个十六进制整数,等于 255。
0x37CF // 一个十六进制整数,等于 14287。
0x3e7 // 一个十六进制整数,等于 999。
0x3.45e2 // 由于十六进制数不能有小数部分,因此这个数等于 3。