javascript中的浮点值提取
在JavaScript中,如何将(0.9)这样的浮点值提取为整数值(9) 范例javascript中的浮点值提取,javascript,math,integer,Javascript,Math,Integer,在JavaScript中,如何将(0.9)这样的浮点值提取为整数值(9) 范例 var total = 67.9; something to process var whole var DEC to be like var whole = 67; var DEC = 9; 我能想到的最简单的方法是: var string = total.toString(); var dotidx = string.indexOf("."); var dec = dotidx >= 0 ? +st
var total = 67.9;
something to process var whole var DEC to be like
var whole = 67;
var DEC = 9;
我能想到的最简单的方法是:
var string = total.toString();
var dotidx = string.indexOf(".");
var dec = dotidx >= 0 ? +string.slice(dotidx + 1) : 0;
请注意,它不适用于指数形式的数字。我能想到的最简单的方法是:
var string = total.toString();
var dotidx = string.indexOf(".");
var dec = dotidx >= 0 ? +string.slice(dotidx + 1) : 0;
请注意,它不适用于指数形式的数字。有很多方法可以找到结果。我给你一个简单的解决办法
var total = 67.9
var splitVal = total.toString().split(".")
var whole = splitVal[0], var desc = splitVal[1] || 0
如果你想转换整数和小数,那么乘以1
var whole = splitVal[0] * 1
有很多方法可以找到结果。我给你一个简单的解决办法
var total = 67.9
var splitVal = total.toString().split(".")
var whole = splitVal[0], var desc = splitVal[1] || 0
如果你想转换整数和小数,那么乘以1
var whole = splitVal[0] * 1
为什么是9而不是0.9?像42.321这样的数字会发生什么?如果它返回
dec=321
?像42.321这样的数字应该返回42,而不是0.321。在一般情况下,这是不可能的(由于精度有限)。有可能你做了错事,你最好解释一下你正在解决的原始问题。@zerkms如果你只处理数字是不可能的(是的,我是出于好奇而尝试的——它几乎从来没有给出正确的答案),但由于这是一个表示问题,我们不妨使用字符串。@MaxArtvar total=67.9代码>---嗯,在这个问题上,他们处理的是数字而不是字符串。由于不是每个数字都可以正确表示,所以(在运行时)无法判断数字文字和它的字符串表示形式是否相同。为什么是9而不是0.9?像42.321这样的数字会发生什么?如果它返回dec=321
?像42.321这样的数字应该返回42,而不是0.321。在一般情况下,这是不可能的(由于精度有限)。有可能你做了错事,你最好解释一下你正在解决的原始问题。@zerkms如果你只处理数字是不可能的(是的,我是出于好奇而尝试的——它几乎从来没有给出正确的答案),但由于这是一个表示问题,我们不妨使用字符串。@MaxArtvar total=67.9代码>---嗯,在这个问题上,他们处理的是数字而不是字符串。因为不是每个数字都能正确表示——你无法(在运行时)判断数字文字和它的字符串表示形式是否相同。如果total
实际上是一个整数,这将返回undefined
/NaN
。我们可以设置var desc=splitVal[1]| 0
。感谢MaxArt如果总计
实际上是一个整数,那么它将返回未定义
/NaN
。我们可以设置var desc=splitVal[1]| | 0
。谢谢MaxArt