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