所以我正在研究划分显示器的宽度,这会导致数字不那么干净。
我当前的解决方案是删除右侧并将其用作生成图 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/