将字符串转换为数字,并在javascript之前添加零

将字符串转换为数字,并在javascript之前添加零,javascript,html,Javascript,Html,我需要编写一个javascript程序,要求用户输入一个小写字符串 字符,然后打印相应的两位数代码。例如,如果 输入为“home”,输出为08151305。 到目前为止,我可以让它返回正确的数字,但如果它是一位数字,我无法让它在数字前面加上零 这就是我所拥有的: <html> <head> <script type="text/javascript"> function show_prompt() { var name = prompt("Please

我需要编写一个javascript程序,要求用户输入一个小写字符串 字符,然后打印相应的两位数代码。例如,如果 输入为“home”,输出为08151305。 到目前为止,我可以让它返回正确的数字,但如果它是一位数字,我无法让它在数字前面加上零 这就是我所拥有的:

<html>
<head>
<script type="text/javascript">
function show_prompt()
{
    var name = prompt("Please enter a string of lowercase characters");
    document.write(name,'<br>');
    document.write('Length of the input is ', name.length,'<br>');
    document.write("<br>")


    for (i=0; i < name.length; i++)
    {
        {
        document.write(i, ", ",name.charCodeAt(i) - 96, '<br>');
        }
    }

}
</script>
</head>
<body>

<input type="button" onClick="show_prompt()"value="CSE 201 HW#4 Problem 3"/>

</body>
</html>

函数show_prompt()
{
var name=prompt(“请输入一个小写字符字符串”);
写下(名字,
); document.write('输入的长度为',name.Length,“
”); 文档。写入(“
”) 对于(i=0;i”); } } }
您只需检查它是否是个位数,如果是,请在“0”前面加上:

函数padtotwo位(c){
//转换为字符串并检查长度
c=”“+c;
返回c.length==1?“0”+c:c;
//或者将其作为数字使用:

返回c>=0&&c您可以编写自己的pad函数,例如:

function pad(number) {       
     return (number < 10 ? '0' : '') + number       
}
功能板(编号){
返回(编号<10?'0':'')+编号
}
并使用pad功能,如:

 document.write(i, ", ",pad(name.charCodeAt(i) - 96), '<br>');
document.write(i,,”,pad(name.charCodeAt(i)-96),“
”;
试试这个

function show_prompt() {
    var name = prompt("Please enter a string of lowercase characters");
    document.write(name, '<br>');
    document.write('Length of the input is ', name.length, '<br>');
    document.write("<br>")
    for (i = 0; i < name.length; i++) {
        var n = name.charCodeAt(i) - 96;
        document.write(i, ", ", n < 10 ? "0" + n : n, '<br>');
    }

}
函数显示提示(){
var name=prompt(“请输入一个小写字符字符串”);
写下(名字,
); document.write('输入的长度为',name.Length,“
”); 文档。写入(“
”) 对于(i=0;i”); } }
我在这里写了一个快速示例:

我编写了一个原型方法来处理填充零的字符串

String.prototype.pad = function(char, len){
    var chars = this.split();
    var initialLen = len - this.length;
    for(var i = 0; i < initialLen; i++){
        chars.unshift(char);
    }

    return chars.join('');
};
String.prototype.pad=函数(char,len){
var chars=this.split();
var initialLen=len-this.length;
对于(变量i=0;i
我将其转换为数组,然后添加带填充字符的元素。我选择使用数组,因为执行字符串操作是一项昂贵的操作(内存和CPU使用量昂贵)

要在程序中使用它,您可以这样称呼它:

    var res = new Array();
    for (var i = 0; i < name.length; i++) {
        var strCode = (name.charCodeAt(i) - 96).toString();
        res.push(strCode.pad('0', 2));
    }
    document.write(res.join(''));
var res=new Array();
对于(变量i=0;i
您得到的输出是什么,期望得到什么?您能同时托管运行的示例吗?如果我以字符串形式输入home,我得到的输出是:输入的home长度是4 0、8 1、15 2、13 3、5我需要在单个数字前面加0谢谢!我最喜欢这个bc,我不需要编写其他函数。您知道怎么做吗在python中,同样的事情是偶然发生的?我不使用python,所以我不确定。试试这个
    var res = new Array();
    for (var i = 0; i < name.length; i++) {
        var strCode = (name.charCodeAt(i) - 96).toString();
        res.push(strCode.pad('0', 2));
    }
    document.write(res.join(''));