如何从字符串中删除字符,并从新字符串中返回数字-Javascript
我有几个函数,旨在将用户输入的字符串转换为二进制数。这是我正在编写的基本“汇编程序”的一部分。这是我的密码:如何从字符串中删除字符,并从新字符串中返回数字-Javascript,javascript,string,binary,return,Javascript,String,Binary,Return,我有几个函数,旨在将用户输入的字符串转换为二进制数。这是我正在编写的基本“汇编程序”的一部分。这是我的密码: function generateBinaryNumber(inputValue) //only works for hash! { var number; if(containsHash(inputValue) != -1) { number = getNumberFromString(inputValue); } r
function generateBinaryNumber(inputValue) //only works for hash!
{
var number;
if(containsHash(inputValue) != -1)
{
number = getNumberFromString(inputValue);
}
return decimalToBinary(number);
}
function containsHash(number) //Working!
{
var n = number.indexOf('#');
return n;
}
function getNumberFromString(mixedInput) //Working!
{
return (mixedInput.replace('#',''));
}
function decimalToBinary(decimal) //Working!
{
decimal = parseInt(decimal);
return decimal.toString(2);
}
例如,如果用户输入值“5”,则函数返回NaN-但是如果用户指定#5,则返回101。我是编程和Javascript新手,如果有人能给我指出正确的方向那就太好了。谢谢 如果没有
#
您只想说var number=inputValue代码>当您声明它时
作为旁注,您还应该在parseInt中添加一个基数参数(例如parseInt(decimal,10)
),否则它会将“010”
等输入视为十六进制数字,并会错误地对其进行解析
function generateBinaryNumber(inputValue) //only works for hash!
{
var number; //number is not set
if(containsHash(inputValue) != -1)
{
//number is set here, but only if the if statement is true
number = getNumberFromString(inputValue);
}
//if containsHash was false, number is undefined
return decimalToBinary(number);
}