javascript里将十进制转换成16进制的函数是什么?

catslink 2003-08-23 05:56:30
请告知binary,decimal,hex互相转换的函数是什么?
谢谢
...全文
1842 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
catslink 2003-08-25
  • 打赏
  • 举报
回复
多谢大家!马上给分!
jkit 2003-08-23
  • 打赏
  • 举报
回复
同意楼上的,其实有时候很多都已经有现成的方法了,没必要什么都自己再写一份。
icecloud 2003-08-23
  • 打赏
  • 举报
回复
也就是说
直接用

parseInt("10",16)
就可以得到16进制
icecloud 2003-08-23
  • 打赏
  • 举报
回复
Microsoft(R) JScript(R)
parseInt 方法 语言参考
版本 1


请参阅 应用于


--------------------------------------------------------------------------------

描述
返回由字符串转换得到的整数。
语法
parseInt(numstring, [radix])
parseInt 方法的语法有如下部分:

部分 描述
numstring 必选项。要转换为数字的字符串。
radix 可选项。在 2 和 36 之间的表示 numstring 所保存数字的进制的值。如果没有提供,则前缀为 '0x' 的字符串被当作十六进制,前缀为 '0' 的字符串被当作八进制。所有其它字符串都被当作是十进制的。


说明
parseInt 方法返回与保存在 numstring 中的数字值相等的整数。如果 numstring 的前缀不能解释为整数,则返回 NaN(而不是数字)。
parseInt("abc") // 返回 NaN.
parseInt("12abc") // 返回 12.
可以用 isNaN 方法检测 NaN。
icecloud 2003-08-23
  • 打赏
  • 举报
回复
JScript数值数据类型

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。


Gulfing 2003-08-23
  • 打赏
  • 举报
回复
<script>
function hexchange()
{
var hex,dec;
dec = parseFloat(FKeyPad.ReadOut.value);
hex = dec.toString(16);
window.alert("该十进制数转成十六进制数为:"+ hex);
}
function octchange()
{
var oct,dec;
dec = parseFloat(FKeyPad.ReadOut.value);
oct = dec.toString(8);
window.alert("该十进制数转成八进制数为:"+ oct);
}
function binchange()
{
var bin,dec;
dec = parseFloat(FKeyPad.ReadOut.value);
bin = dec.toString(2);
window.alert("该十进制数转成二进制数为:"+ bin);
}
</script>
gisgeoboy 2003-08-23
  • 打赏
  • 举报
回复
要完成此效果需要两个步骤

第一步:把如下代码加入到<head>区域中

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
binary_numbers = new Array("0000", "0001", "0010", "0011", "0100", "0101",
"0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111");

function toBinary(High, Low) {
var hiHex = "ABCDEF";
if (Low < 10 ) {
LowNib = Low;
}
else {
LowNib = 10 + hiHex.indexOf(Low);
}
if (High < 10 ) {
HighNib = High;
}
else {
HighNib = 10 + hiHex.indexOf(High);
}
eight_bits = binary_numbers[HighNib] + " " + binary_numbers[LowNib];
return eight_bits;
}
function Dec2Hex(Decimal) {
var hexChars = "0123456789ABCDEF";
var a = Decimal % 16;
var b = (Decimal - a)/16;
hex = "" + hexChars.charAt(b) + hexChars.charAt(a);
L = hexChars.charAt(a);
H = hexChars.charAt(b);
return hex;
}
var symbols = " !\"#$%&'()*+'-./0123456789:;<=>?@";
function toAscii () {
var loAZ = "abcdefghijklmnopqrstuvwxyz";
symbols+= loAZ.toUpperCase();
symbols+= "[\\]^_`";
symbols+= loAZ;
symbols+= "{|}~";
var loc;
loc = symbols.indexOf(document.asciiform.Input.value);
if (loc >-1) {
Ascii_Decimal = 32 + loc;
return (32 + loc);
}
return(0); // If not in range 32-126 return ZERO
}
function getAscii(some_value) {
document.asciiform.toDec.value = toAscii();
document.asciiform.toHex.value = Dec2Hex(toAscii());
document.asciiform.binary.value = toBinary(H, L);
}
// End -->
</script>


第二步:把如下代码加入到<body>区域中

<center>
<form name="asciiform" onsubmit="return false;">
<table border=1><tr><td>
<center>
输入一个字符:
<input size=1 name=Input maxlength=1 onChange="getAscii(this.value)">
<p>
<input type=button value="显示" onClick="document.asciiform.toDec.value=toAscii()">
</center>
<p>
<input size=10 name=toDec onFocus="this.blur()">
ASCII码十进制输出<br>
<input size=10 name=toHex onFocus="this.blur()">
ASCII码十六进制输出<br>
<input size=10 name=binary onFocus="this.blur()">
ASCII码二进制输出
</td>
</tr>
</table>
</form>
</center>

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧