我创建了一个表单,用户输入弹出窗口所需的宽度和高度值.我正在使用window.open它.
所以我想我需要检查宽度和高度的值是否为整数.我有一个函数,检查变量是一个整数是...
function isInteger(possibleInteger) {
return !isNaN(parseInt(possibleInteger));
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何调用此函数的宽度和高度函数来检查用户是否输入了一个整数.任何人都可以帮忙吗?
我在正整数之前有一些零.我想删除零,所以只剩下正整数.像'001'只会是'1'.我认为最简单的方法是使用parseInt('001').但我发现它不适用于数字8和9.示例parseInt('008')将导致'0'而不是'8'.
这是整个HTML代码:
<html> <body>
<script>
var integer = parseInt('002');
document.write(integer);
</script>
</body> </html>
Run Code Online (Sandbox Code Playgroud)
但我可以以某种方式报告这个问题吗?有谁知道另一个简单的解决方法这个问题?
int i = 0;
int k = Integer.parseInt("12");
int j = k;
System.out.println(i+1 + " " + j+1);
Run Code Online (Sandbox Code Playgroud)
奇怪的是收到的输出是
1 121
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚这个基本的区别.请帮我.
给出以下字符串:
3132333435363738396162636465666768696a6b6c6d6e6f70
Run Code Online (Sandbox Code Playgroud)
我将字符串转换为十六进制,现在我想将其写为十六进制而不是字符串.我尝试将其转换为int但Integer.parseInt仅转换为4,如果超出此范围,则会产生错误.
这个问题与另一个问题类似;但是,我想了解为什么会这样。
下面的代码:
console.log((parseInt('0xdeadbeef', 16) & parseInt('0x000000ff', 16)).toString(16));
console.log((parseInt('0xdeadbeef', 16) & parseInt('0x0000ff00', 16)).toString(16));
console.log((parseInt('0xdeadbeef', 16) & parseInt('0x00ff0000', 16)).toString(16));
console.log((parseInt('0xdeadbeef', 16) & parseInt('0xff000000', 16)).toString(16));
console.log((parseInt('0xdeadbeef', 16) & parseInt('0x000000ff', 16)).toString(16));
console.log((parseInt('0xdeadbeef', 16) & parseInt('0x0000ffff', 16)).toString(16));
console.log((parseInt('0xdeadbeef', 16) & parseInt('0x00ffffff', 16)).toString(16));
console.log((parseInt('0xdeadbeef', 16) & parseInt('0xffffffff', 16)).toString(16));
Run Code Online (Sandbox Code Playgroud)
返回:
ef
be00
ad0000
-22000000
ef
beef
adbeef
-21524111
Run Code Online (Sandbox Code Playgroud)
当我对 .string(16) 的期望是:
ef
be00
ad0000
de000000
ef
beef
adbeef
deadbeef
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?
预先感谢您的帮助。
感谢以下回复者和评论者,以及以下来源:
下面是一个解决方案,它通过提供实用函数来将 radix-16 32 位数字与有符号 32 位整数相互转换:
// Convert 'x' to …Run Code Online (Sandbox Code Playgroud) 我坚持这个问题〜:
方法Integer.parseInt将数字字符串转换为它表示的int数.
public static int parseInt (String s)
throws NumberFormatException
Run Code Online (Sandbox Code Playgroud)
解释如何捕获parseInt抛出的异常,并用代码示例说明您的答案.
到目前为止,我的想法是:
try
{
System.out.println("incorrect");
}
catch (NumberFormatException n)
{
System.out.println("WRONG! This is not a number");
}
Run Code Online (Sandbox Code Playgroud)
我觉得这个答案是错误的,因为上面的代码只会在main方法中使用,我不知道如何在下面捕获异常:
public static int parseInt (String s)
throws NumberFormatException.
Run Code Online (Sandbox Code Playgroud)
我通过java API查看了parseInt方法,并通过各种研究查看并尝试了代码,但是由于我缺乏理解,我仍然在努力做到这一点.
如果有人能帮助我,我将不胜感激,提前谢谢.
我已经用java编译了一些小程序,一切都很好。但是我的新代码有任何问题。
class myclass
{
public static void main (String[] args)
{
int x, y;
String s ="sssss";
x=args.length;
s= args[0].substring(1,2);
System.out.println("Num of args: "+x);
System.out.println("List of args:");
y = parseInt(s,5);
}
}
Run Code Online (Sandbox Code Playgroud)
编译器说:
e:\java\4>javac myclass.java
myclass.java:11: error: cannot find symbol
y = parseInt(s,5);
^ symbol: method parseInt(String,int) location: class myclass 1 error
e:\java\4>
Run Code Online (Sandbox Code Playgroud)
奇怪的是,编译器跳过方法子串(因为没有问题)但方法parseInt似乎有任何问题。y = parseInt(s); 或: y = parseInt("你好"); --> 编译信息也是一样的。
或者方法不存在?docs.oracle-->Integer说它存在:)
这让我真的很疯狂,因为我不知道如何搜索错误。我已经检查了互联网,我检查了类路径和路径...
因此,如果有任何专家可以帮助我,那就太好了。:)
我有一个数字的例子,数字之间有空格,但我想返回没有空格的整数:
mynumber = parseInt("120 000", 10);
console.log(mynumber); // 120
Run Code Online (Sandbox Code Playgroud)
我希望它回来120000.有人可以帮我这个吗?谢谢
问题是我在代码的开头声明了我的变量:
var mynumber = Number.MIN_SAFE_INTEGER;
Run Code Online (Sandbox Code Playgroud)
显然这会导致您提供的解决方案出现问题.
我需要将字符串用户id解析为我使用的整数Integer.parseInt(String s)但它返回null/nil,如果有字符串有/保持非十进制/整数值,那么我需要将默认整数值指定为0.
我试过这个,但它(? 0)似乎不起作用,我不知道它是否是正确的语法.
String userid = "user001";
int int_userid = Integer.parseInt(userid) ? 0;
Run Code Online (Sandbox Code Playgroud)
如果存在空赋值,如何将默认值赋给整数?
字符串userid是一个参数参数,作为Web服务函数调用的一部分,因此我无法将其数据类型更新为整数.