javascript - 将数字与小数连接并转换回 int 的正确方法是什么?

标签 javascript

所以我正在研究划分显示器的宽度,这会导致数字不那么干净。

我当前的解决方案是删除右侧并将其用作生成图 block 的填充。

例如,如果我得到数字336.75(1366显示器减去滚动条除以4)

我将数字转换为字符串后使用 split 方法将其拆分。

问题是我无法让右边再次有小数。

使用:

var testNumber = 336.75,
    numString  = testNumber.toString(),
    numParts   = numString.split('.'),
    numLeft    = numParts[0],
    numRight   = numParts[1];

如果我尝试将右侧桥接回小数,如下所示:

var newNum = parseInt('.'+numRight);

我得到 NaN 结果。

我想获取 0.75 数字并将其用作填充。

现在,由于缺少小数点,.75 就好像数字 75 一样。

parseFloat 似乎可以工作

最佳答案

好吧,如果您使用 parseFloat() (请参阅此 jsFiddle ),您所尝试的实际上确实有效,但是有一种更好、更有效的方法来实现您正在尝试的目标去做。

您可以通过向下舍入 testNumber 并从其自身中减去它来轻松获得填充值。您可以使用Math.floor()为您完成大部分繁重的工作:

var testNumber = 336.75,
    padding    = testNumber - Math.floor(testNumber); // padding == 0.75

获取 modulus数字的也是一种可能性,但它可能不太可读:

var testNumber = 336.75,
    padding    = testNumber % 1; // padding == 0.75

关于javascript - 将数字与小数连接并转换回 int 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41110286/

相关文章:

javascript - 使用向上和向下箭头键滚动(突出显示)HTML 表格中的行

javascript - 如何在 Javascript 中获取此关键字的类型?

javascript - 如何使用 HTTP 请求中的参数在 Django 中附加模型

javascript - 如何在 javascript 中触发元素上的 onmouseover 事件?

javascript - 一个用于解析糟糕 JSON 的库 - 它存在吗?

javascript - 使用 Ajax 获取 PHP 变量中的 Javascript 变量值

javascript - 无法在 IE11 中基于 scrollY 更新 document.body

javascript - 为什么 JavaScript 无法在 GitHub 页面上运行?

javascript - innerHTML 不循环表

javascript - 如何在 Qooxdoo 中创建自定义模型? (用于列表)