Tag: 数字

指定具体的数字

我正在NodeJS上开发一个基于文本的Blackjack游戏。 我有这个数组: const ranks = Array('A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K'); 游戏从这个数组中挑选一个随机数并显示它。 但是,用字母你不能算。 在二十一点,“J”,“Q”和“K”是10.A是1或11。 我仍然希望它向用户显示这个字母,但它必须以10来计数。那么我怎样才能将这10(或1/11)分配给面卡,但仍然显示这个字母。

增加string的位数(0,1,2,…,9,00,01)

我需要JavaScript中的一个函数(在Node中使用),它使string中的数字递增,如下所示: "0", "1", "2", "3", …, "8", "9", "00", "01", "02" 等等。 我怎么去做这个? 我可以用很多条件来想很长的一段路,但是这可能无法达到最佳状态。 我到目前为止: var count = "0"; function increment() { var number = parseInt(count), digits = count.length; var upDigit = true; for (var i = 0; i < digits; i++) { if (i !== 9) upDigit = false; } if (upDigit) { var […]

JavaScript:Number()的预期行为

我正在从文件中读取string整数,并将它们传递给函数。 由于大多数文件都有拖尾行,所以我想知道Number()的行为。 要从RHEL内核文件获取max_pidvariables,我正在使用asynchronous读取。 var options = { encoding: 'utf8' }; fs.readFile('/proc/sys/kernel/pid_max', options, function (err, data) { var max_pid = Number(data); // or trim the string first var max_pid = Number(data.trim()); }); 我的系统的variablesdata返回string'32768\n' ,并使用该string上的Number()剥离换行。 这是Number()的预期行为,还是应该在将variables传递给Number()之前对variables使用str.trim() Number() ? 我问这个问题的原因是环境的一致性,以及正确使用function。

Javascript号码获得另一个价值

我最近发现了一个奇怪的JS片段,但是我不确定这是一个错误还是有一些逻辑。 试试这个号码:9000000022903136 * 8 *警告它,console.log它,把它分配给一个variables。 您将获得值9000000022903136 * 0 *。 问题是为什么? 这是一个错误? 我也注意到,你从90000000229031352 90000000229031352到90000000229031368,90000000229031351你90000000229031340,90000000229031369你90000000229031369。 这发生在:Chrome,FF,Node.js

parseInt()不正确地parsing带有指数的数字文字

我刚刚观察到, parseInt函数并不关心整数(包含e字符的数字)的小数位数。 我们举个例子: -3.67394039744206e-15 > parseInt(-3.67394039744206e-15) -3 > -3.67394039744206e-15.toFixed(19) -3.6739e-15 > -3.67394039744206e-15.toFixed(2) -0 > Math.round(-3.67394039744206e-15) 0 我预计parseInt也将返回0 。 什么事发生在较低的水平? 为什么parseInt在这种情况下返回3 (从源代码中的一些片断将不胜感激)? 在这个例子中,我使用了node v0.12.1 ,但我期望在浏览器和其他JavaScript引擎中node v0.12.1发生这种情况。

为什么在JavaScript中的0小于Number.MIN_VALUE?

使用Node.js,我正在评估expression式: 0 < Number.MIN_VALUE 令我惊讶的是,这是true 。 这是为什么? 而且:我如何才能得到最小数量的比较如预期般运作?