所以今天我遇到了这种情况.我有一个整数和一个我需要比较的字符串.为了比较这两个,我要么必须toString()整数,要么将字符串解析为int.
这是我的问题,我应该选择哪一个,两者的表现有什么不同?(即使它很小)是否有经验法则?
这是一个代码示例:
var intI = 1;
var stringS = '1';
if (intI.toString() == stringS)
console.log('are equal');
//Or
if (intI == parseInt(stringS))
console.log('are equal');
Run Code Online (Sandbox Code Playgroud)
如果我可以将Integer声明为我知道的字符串(因为它不用于计算),那将是最好的.但它在网站上随处可见.
我正在制作一个简单的程序,可以让你添加一个比赛的结果,以及他们用完的秒数.所以为了输入时间,我这样做了:
int time = Integer.parseInt(JOptionPane.showInputDialog("Enter seconds"));
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,如果他输入的数字不是正数,我怎么能向用户显示错误信息?就像MessageDialog一样,在输入数字之前会给出错误.
考虑以下:
parseInt(new Array(), 10); // -> NaN
parseInt(new Array(), 16); // -> NaN
parseInt(new Error(), 10); // -> NaN
parseInt(new Error(), 16); // -> 14
Run Code Online (Sandbox Code Playgroud)
看起来这种行为对错误/错误实例是唯一的.谁能提供洞察力?
我有一个数字的例子,数字之间有空格,但我想返回没有空格的整数:
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)
显然这会导致您提供的解决方案出现问题.
鉴于:
var obj={0:21,1:22}
Run Code Online (Sandbox Code Playgroud)
和
var arr=[21,22]
Run Code Online (Sandbox Code Playgroud)
为什么要parseInt(obj)回归NaN,但要parseInt(arr)回归21?
我有一个函数,我要么传递int一个哈希类型object或一个普通的array.我期待parseInt重返NaN两个object和array,从而简化参数检查.是什么赋予了?
我正在研究一个基本的计算器,它接受这样的输入
" 100 + 10/2 + 3 + 0 "并在单独的字段中返回输出.当我将这个东西分解成数组时,零不会被解析为整数.我的代码如下
var arr = ["100", "+", "0"];
arr = arr.map(x => parseInt(x) || x);
console.log(arr);Run Code Online (Sandbox Code Playgroud)
我有一个字符串,例如"ksl13<br>m4n",我想删除所有非数字字符,以获得int 134.
Integer.parseInt(s) 显然不会起作用,但不知道怎么回事.
我在Windows JVM 7_25中测试了这段代码,效果很好.
import java.util.Random;
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.event.EventHandler;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.input.ClipboardContent;
import javafx.scene.input.DragEvent;
import javafx.scene.input.Dragboard;
import javafx.scene.input.MouseEvent;
import javafx.scene.input.TransferMode;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.FlowPane;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
public class DraggableFlowPane extends Application {
@Override
public void start(Stage primaryStage) {
final FlowPane root = new FlowPane();
final Random rng = new Random();
final int NUM_NODES = 120;
for (int i = 0; i < NUM_NODES; i++) {
int red = rng.nextInt(256);
int green = rng.nextInt(256); …Run Code Online (Sandbox Code Playgroud) 我们如何从这样的数据集中提取整数(键)?
data : {
DAYS7: 234,
DAYS21: 3456,
DAYS35: 23456
}
Run Code Online (Sandbox Code Playgroud)
我想将此数据转换为两个数组[7, 21, 35]和[234, 3456, 23456].
代码:
var a = [], b = [];
for (var key in data) {
a.push(getIntPart(key));
b.push(data[key]);
}
function getIntPart(key) {
key = key.substring(4); //Remove DAYS word
return parseInt(key);
}
Run Code Online (Sandbox Code Playgroud)
我认为key.substring(4)这不是正确的方法,因为它会因其他一些键而失败。请建议我应该如何解决这个问题。
转到 Microsoft Edge 控制台并运行以下 JavaScript:
current_date = new Date().toLocaleDateString("en-CA",{timeZone: "America/Los_Angeles"});
a = current_date.substring(0,current_date.indexOf('-'));
console.log(parseInt(a));Run Code Online (Sandbox Code Playgroud)
我得到一个 NaN;你?我在 Chrome 和 Firefox 的控制台中尝试了相同的代码,当运行 parseInt(a) 时,它们都产生“2019”。
1)为什么会发生这种情况?
2) 如何在 Microsoft Edge 中解析“a”变量并将其转换为整数?